我有一个非常大的数据框,其中行作为观察值,列作为遗传标记。我想创建一个新列,其中包含使用R为每个观察选择的列数之和。
如果我有200列和100行,我想创建一个新列,该列有100行,其总和是从43到167列。这些列有1或0。新列包含每个列的总和行,我将能够对那些遗传标记最多的人进行排序。
我觉得这很接近:
data$new=sum(data$[,43:167])
Answers:
我来到这里是希望找到一种方法来获取数据表中所有列的总和,并遇到实现上述解决方案的问题。一种使用所有列的总和添加列的方法使用以下cbind
函数:
cbind(data, total = rowSums(data))
此方法将一total
列添加到数据中,避免了在使用上述解决方案尝试对所有列求和时产生的对齐问题(请参见下面的帖子,以获取有关此问题的讨论)。
data$new <- rowSums(data[43:167])