【发布时间】:2023-01-03 09:47:29
【问题描述】:
我有一个包含 X 列的 data.frame(我将在这个例子中使用三个):
data<- data.frame('col1'=c('gama','zeta','omega'),'col2'=c('square','circle','triangle'),'col3'=c('bike','car','airplane'))
我想“求和”这个 data.frame 的每一行的值,在它们上面放置一个分隔符,这些值是字符。我想在不使用 for 循环的情况下执行此操作(因为我的真实 data.frame 非常大)。
“粘贴”功能需要多个向量作为输入(当输入是字符列表时,输出是错误的),但真实数据帧的“ncol”(列数)会一直变化(是动态生成的数据.框架)。
我不知道如何使用“粘贴”或“stringr::str_c”函数来执行此操作,但我尝试了它们,但都返回了格式错误的唯一向量。 并且“rowSums”函数只接受数字(不接受分隔符,但我可以处理这个)。
【问题讨论】:
-
图像“问题图”中的右侧是字符向量,长度= 3
-
我相信你正在寻找这个:
data$new_col = apply(data, 1, paste0, collapse=", ") -
它有效,但由于我的 data.frame 稍后很大,我将看到“应用”函数的速度有多快,正如我所说的“我避免 for 循环,因为数据的大小有时会超过 50000 行。
标签: r dataframe type-conversion dataset character