有没有一种方法可以连接除R中的最后两个值以外的所有前导列值?

以下是我的数据框的摘要

DISEASE Gender  Race    Freq    NEWCOL
Salmonellosis   M   RACE_LATINO_HISPANIC    1   NA
Salmonellosis   F   BLACK_AFRICAN_AMERICAN  2   NA
Salmonellosis   M   WHITE   3   NA
Salmonellosis   M   WHITE   4   NA

使用串联inexcel获得所需的结果
DISEASE Gender  Race    Freq    NEWCOL  Concat
Salmonellosis   M   RACE_LATINO_HISPANIC    1   NA  Salmonellosis M RACE_LATINO_HISPANIC
Salmonellosis   F   BLACK_AFRICAN_AMERICAN  2   NA  Salmonellosis F BLACK_AFRICAN_AMERICAN
Salmonellosis   M   WHITE   3   NA  Salmonellosis M WHITE
Salmonellosis   M   WHITE   4   NA  Salmonellosis M WHITE

我尝试在R中粘贴,但找不到忽略后两列的方法

另外,列数会随着应用程序中的每次迭代而变化,因此我需要有一个忽略最后两列的函数,而不是选择几个前导列

最佳答案

这不是一个很好的解决方案,但是给定您的数据,您可以简单地使用apply并传入data.frame,通过动态引用列数来删除最后两列。

df = readr::read_table2("DISEASE Gender  Race    Freq    NEWCOL
Salmonellosis   M   RACE_LATINO_HISPANIC    1   NA
Salmonellosis   F   BLACK_AFRICAN_AMERICAN  2   NA
Salmonellosis   M   WHITE   3   NA
Salmonellosis   M   WHITE   4   NA")

df$Concat = apply(df[,1:(ncol(df)-2)],1,paste,collapse=" ")

09-25 20:39