[英]Merge columns with the same name R
我对R相当陌生。我正在使用一个数据集,该数据集具有很多列(〜400个),具有令人难以置信的冗余性。 有几个重复的列名,但是数据不是重复的,因此在折叠它们时我需要对这些列进行求和。
所有列都有类似的名称,可以轻松识别,因此我希望可以利用它来发挥自己的优势。
我尝试执行以下操作:
ColNames <- unique(colnames(df))
CombinedDf <- data.frame(sapply(ColNames, function(i)rowSums(Test[,ColNames==i, drop=FALSE])))
如果我在仅包含整数的列的范围内求和,这是可行的,但问题是其他列中都有字符串,例如此类,因此rowSums会抛出适合值。
假设标识符为“ XXX”,我该如何汇总所有具有相同名称的列,而将其他列保持原样?
感谢您的时间。
编辑:已请求示例数据,由于敏感,我无法提供确切的数据,但我将举一个示例:
Name COL1XXX COL2XXX COL1XXX COL3XXX COL2XXX Type
Henry 5 15 25 31 1 Orange
Tom 8 16 12 4 3 Green
应该回来
Name COL1XXX COL2XXX COL3XXX Type
Henry 30 16 31 Orange
Tom 20 19 4 Green
我不太确定,但是您可以尝试转置数据,然后按唯一名称进行汇总。
t_df=as.data.frame(t(df))
new_df=aggregate(t_df, by=list(rownames(t_df)),sum)
同样,如果没有样本数据,我不确定是否会奏效,但是根据您的说法,这可能会奏效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.