亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據幀中分隔符處的分隔列

數據幀中分隔符處的分隔列

當年話下 2019-06-15 17:59:57
數據幀中分隔符處的分隔列我想根據分隔符將一個列分割成兩個at數據幀。例如,a|b b|c成為a    b b    c在數據幀內。謝謝!
查看完整描述

3 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

Hadley有一個非常優雅的解決方案,可以在他的數據幀中完成這個任務。reshape包,使用該函數colsplit.


require(reshape)

> df <- data.frame(ID=11:13, FOO=c('a|b','b|c','x|y'))

> df

  ID FOO

1 11 a|b

2 12 b|c

3 13 x|y

> df = transform(df, FOO = colsplit(FOO, split = "\\|", names = c('a', 'b')))

> df

  ID FOO.a FOO.b

1 11     a     b

2 12     b     c

3 13     x     y


查看完整回答
反對 回復 2019-06-15
?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

新流行tidyr包用separate..它使用正則表達式,因此必須轉義|


df <- data.frame(ID=11:13, FOO=c('a|b', 'b|c', 'x|y'))

separate(data = df, col = FOO, into = c("left", "right"), sep = "\\|")


  ID left right

1 11    a     b

2 12    b     c

3 13    x     y

雖然在這種情況下,缺省值足夠聰明,可以工作(它查找要拆分的非字母數字字符)。


separate(data = df, col = FOO, into = c("left", "right"))


查看完整回答
反對 回復 2019-06-15
  • 3 回答
  • 0 關注
  • 628 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號