我有一個數據幀,看起來像這樣:重新編碼多響應變量爲一箇中的R
Df <- data.frame(
mn = c(1,0,1,1,1,1,0),
bc = c(1,1,1,0,0,1,1),
bn = c(0,0,1,1,0,1,0))
我要重新編碼到這些新的變量。
我想是這樣的
Df$Var[which(Df$mn %in% 1)] <- "mn"
Df$Var[which(Df$bc %in% 1)] <- "bc"
Df$Var[which(Df$bn %in% 1)] <- "bn"
這工作,但我沒有得到5個MNS,5個BCS和BNS 3。它看起來像一個命令覆蓋另一個。我知道這樣的事情在SPSS中是可能的。它將它們自動合併。我的問題是我怎樣才能做到這一點,而不是在任何壓倒一切R.
假設你有一個'$ Df的列Var',每行,如果滿足條件取決於每一次將其覆蓋。你的預期產出是多少? – SymbolixAU
你的問題不是很清楚。你是說在你的新變量中,它不應該覆蓋是否已經有一個值?這個例子的結果會是什麼樣子? – thc
嗯,我看到覆蓋,這就是我想要防止的。我現在的困境是在mn,bc和bn都是1的區域,我如何告訴R變量Var可以取任何這些值。說'Df $ Var [3]'可以是mn,bn或bn。如果我正在計數bcs,則應該計算在內,如果我計算的是mns,則應該計數,如果我計算bns,則應該再計算一次。 – Kay