的數據集(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