私は、このデータフレーム1の場合、列名(A、B、Cで列A、BおよびCとDを移入するための最良の方法は何は、他の列
dat = data.frame(Type = c("A","A","B","B","C","C","D"), NextType = c("A", "B","B", "C","C","D",NA),
A = c(rep(0,7)),
B = rep(0,7),
C = rep(0,7) ,
D = rep(0,7),
stringsAsFactors = F)
dat
Type NextType A B C D
1 A A 0 0 0 0
2 A B 0 0 0 0
3 B B 0 0 0 0
4 B C 0 0 0 0
5 C C 0 0 0 0
6 C D 0 0 0 0
7 D <NA> 0 0 0 0
を持っているを使用して、特定の列の式を適用します、D等...)=タイプ= NextType
ので
column A would be 1,0,0,0,0,0,0
column B would be 0,0,1,0,0,0,0
column C would be 0,0,0,0,1,0,0
column D would be 0,0,0,0,0,0,0
注 - これは、動的にする必要があります。私はA、B、C、Dの上に4列ありますが、10,20、または任意の数の列があります。
申し訳ありません。あなたは編集を見ることができますか? – user3022875
したがって、排他的にゼロの列が欲しいですか? – Psidom
この場合、 'model.matrix'を試すことができます。' Type'列+ otherと同じレベルのfactor型のキー列を作成し、 'model.matrix'は余分なレベルを保持します。タイプ= "Next")、タイプ( "!"(タイプ)&!is.na(次のタイプ)、タイプ、 "その他")、 %>%select(-keyother、 - )は、指定されたキーを使用して、キー) ' – Psidom