我想要对以相同字符串模式开头的未定义数量的列求和.我希望我的新数据框的每一列都具有列名搜索中使用的字符串的列名.然而,我不确定如何自动分配列名,以使其产生给定的格式,例如
c(m = "m", w = "w")
我想将lApply与rowSums结合使用,如下所示:
lapply(c(m = "m", w = "w"),
\(x) rowSums(df[startsWith(names(df), x)]))
基本输入:
# m_16 w_16 w_17 m_17 w_18 m_18
#values1 3 4 8 1 12 4
#values2 8 0 12 1 3 2
请注意,情况并非如此.
# m_16 w_16 w_17 m_17 w_18 m_18 m w
#values1 3 4 8 1 12 4 8 24
#values2 8 0 12 1 3 2 11 15
然而,正如我在上面提到的,可能有更多的列,它们可以从z, w, etc开始,并且还应该计算总和,所以我想将"列名指定"向量化,而不是手动分配列名.
我试过通过其他堆栈溢出线程查找它,但不确定如何搜索这个问题,也不知道自己如何解决它,除了后来分配列名.