gpt4 book ai didi

r - 如何将多列值合并为一列?

转载 作者:行者123 更新时间:2023-12-01 23:43:23 25 4
gpt4 key购买 nike

我有一个名为“stemmoutput”的数据框(见下文):

     X1      X2       X3      X4      X5      X6      X7     X8     X9    X10     
1 tanaman cabai
2 banget hama sakit tanaman
3 koramil nogosari melaks ecek hama tanaman padi ppl ds rambun

我想像这样将多列值合并到一列中:

     TEXT
1 tanaman cabai
2 banget hama sakit tanaman
3 koramil nogosari melaks ecek hama tanaman padi ppl ds rambun

我试过这个代码,它有效

stemmoutput$TEXT <- with(stemmoutput, paste(X1,X2,X3,X4,X5,X6,X7,X8,X9,X10, sep=" "))

但是有没有其他更高效的方法,而不用一一记下列名?

我也试过下面的代码,但也没有用。

for(i in names(stemmoutput)){
stemmoutput$TEXT <- with(stemmoutput, paste(i, sep=" "))}

最佳答案

尝试do.call

library(stringr)
newdat <- data.frame(TEXT=str_trim(do.call(paste, stemmoutput)),
stringsAsFactors=FALSE)

newdat
# TEXT
#1 tanaman cabai
#2 banget hama sakit tanaman
#3 koramil nogosari melaks ecek hama tanaman padi ppl ds rambun

如果一列中有多个部分的词,最好使用,作为分隔符

 TEXT <- gsub(', [^A-Za-z]+', '', do.call(paste, c(stemmoutput, sep=', ')))

newdat <- data.frame(TEXT, stringsAsFactors=FALSE)
newdat
# TEXT
#1 tanaman, cabai
#2 banget, hama, sakit, tanaman
#3 koramil, nogosari, melaks, ecek, hama, tanaman, padi, ppl, ds, rambun

关于r - 如何将多列值合并为一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30277904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com