的数据集(DF)具有> 600个观察和100个变量中,我有多个特性的变量在一个字符串象在以下的形式:二进制变量变量
df$a
a
1 aa
2 bb
3 aa
4 cc
5 bb
6 dd
7 cc
8 dd
现在,我想计算出的a
,所有"aa"
和"bb"
得到值0和一个新的二元变量所有"cc"
和"dd"
获得价值1。我希望这样的事情:
a b
1 aa 0
2 bb 0
3 aa 0
4 cc 1
5 bb 0
6 dd 1
7 cc 1
8 dd 1
我会怎么做呢?
非常感谢您预先的任何形式的帮助。
马格努斯
也许'有(DF,ifelse(一%的%C( “AA”, “BB”),0,1))' – 2014-11-24 19:44:42
你能想出很多方法可以做到这一点,但-perhaps - 一种“正式”的方式会操纵R的“因素”类?即,在这里使用''levels < - “'函数; '水平(DF $ A)=列表( “0”= C( “AA”, “BB”), “1”= C( “CC”, “DD”))' – 2014-11-24 20:09:41
@RichardScriven虽然MWE工作正常,如果我使用'NewVariable < - with(df,ifelse(OldVariable%in%c(“first value”,“second value”,“third value”),0,1))的真实数据集中的方法,新变量保存只值1的所有观测值,也为那些应为0。我不知道为什么。 – 2014-11-24 20:28:26