簡體   English   中英

在R中將一行分成多行

[英]Breaking one row into multiple rows in R

我最近一直在處理這樣的數據:

abs bh12|bh56|bh77 ccc

bbs bh50|bh87 css

我想做的是將包含多個||的每一行拆分。 將第二列中的值分隔為行,其中每一行中只有一個這樣的值。 因此輸出將是:

abs bh12 ccc
abs bh56 ccc
abs bh77 ccc
bbs bh50 css
bbs bh87 css

我一直在研究循環,但是我敢肯定有更好的方法可以做到這一點,但恐怕目前還無法實現。

謝謝。

下面的代碼假定您已將這些值存儲在名為dfdata.frame ,其列名為“ a”,“ b”和“ c”。 使用splitstackshape庫:

print(df)
    a              b   c
1: abs bh12|bh56|bh77 ccc
2: bbs      bh50|bh87 css

library(splitstackshape)
df2 <- cSplit(df, "b", "|", direction = "long")
print(df2)

    a    b   c
1: abs bh12 ccc
2: abs bh56 ccc
3: abs bh77 ccc
4: bbs bh50 css
5: bbs bh87 css

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM