【问题标题】:summing columns in a data frame based on the values stored within another data frame in R根据存储在 R 中另一个数据帧中的值对数据帧中的列求和
【发布时间】:2016-10-07 09:10:49
【问题描述】:

我想从df1总结一组列

df1
  | A      | B      | C      | D
  | ------ | ------ | ------ | ------
1 | 0.870  | 0.435  | 0.968  | 0.679
2 | 0.456  | 0.259  | 0.906  | 0.467
3 | 0.298  | 0.256  | 0.457  | 0.768
4 | 0.994  | 0.987  | 0.365  | 0.765

如果它们的列名显示为 df2 中名为 TEST 的列中的值

df2
  | test   |  
  | ------ | 
1 | A      | 
2 | B      | 

我尝试使用以下代码,但我得到下面的错误

columns.to.add <- unique(df2$test)
df2$test <- colSums(columns.to.add)

base::colSums(x, na.rm = na.rm, dims = dims, ...) 中的错误:“x”必须是至少二维数组

【问题讨论】:

  • 抱歉,您可以假设全部都是小写。这是我编译问题时的错误

标签: r


【解决方案1】:

$ 不适用于您的情况。您必须按列名使用索引:

colSums(df1[, df2$test])

【讨论】:

  • 为了安全起见as.character(df2$test)
猜你喜欢
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
  • 1970-01-01
相关资源
最近更新 更多