区切り文字に基づいてデータフレーム内の1つの列を2つに分割したいと思います。たとえば、
a|b
b|c
なる
a b
b c
データフレーム内。
ありがとう!
ベストアンサー1
@Taesung Shin さんは正しいですが、それを にするにはもう少し魔法をかける必要がありますdata.frame
。曖昧さを避けるために「x|y」行を追加しました:
df <- data.frame(ID=11:13, FOO=c('a|b','b|c','x|y'))
foo <- data.frame(do.call('rbind', strsplit(as.character(df$FOO),'|',fixed=TRUE)))
または、既存の data.frame 内の列を置き換える場合は、次のようにします。
within(df, FOO<-data.frame(do.call('rbind', strsplit(as.character(FOO), '|', fixed=TRUE))))
これによって次のものが生成されます:
ID FOO.X1 FOO.X2
1 11 a b
2 12 b c
3 13 x y