データフレームの区切り文字で列を分割する [重複] 質問する

データフレームの区切り文字で列を分割する [重複] 質問する

区切り文字に基づいてデータフレーム内の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

おすすめ記事