【发布时间】:2021-12-18 13:31:26
【问题描述】:
我有一个数据和一个包含变量名称的向量,我想创建一个新变量,其中包含我的向量中的变量行和,我希望新变量的名称(我的向量中的变量总和)是名称的串联变量
例如我有这个数据
> data
Name A B C D E
r1 1 5 12 21 15
r2 2 4 7 10 9
r3 5 15 6 9 6
r4 7 8 0 7 18
还有这个向量
>Vec
"A" , "C" , "D"
我想要的结果是变量 A 、 C 和 D 的总和,我的变量的名称是 ACD
这是我想要的结果:
> data
Name A B C D ACD E
r1 1 5 12 21 34 15
r2 2 4 7 10 18 9
r3 5 15 6 9 20 6
r4 7 8 0 7 14 18
我试过这个:
data <- cbind(data , as.data.frame(rowSums(data[,Vec]) ))
但我不知道如何创建名称
这是我得到的结果
>data
Name A B C D E rowSums(data[,Vec])
r1 1 5 12 21 15 34
r2 2 4 7 10 9 18
r3 5 15 6 9 6 20
r4 7 8 0 7 18 14
并不是我只给出了一个示例来解释我想要做什么
我想将旧数据添加到新数据(包含新变量)中,就像我在上面的命令中所做的那样
编辑 1:在我的真实程序中,我不知道元素(向量中变量的名称,所以我不能按照 Pax 的建议执行 data$ACD <- cbind(data , as.data.frame(rowSums(data[,Vec]) )),事实上我有生成向量的 for 循环和每次我创建变量来放置我想要的结果(我的向量中的变量总和)所以我不知道如何在不知道向量元素的情况下影响名称
如果您需要更多说明或信息,请告诉我
谢谢
【问题讨论】:
-
试试
data$ACD <- cbind(data , as.data.frame(rowSums(data[,Vec]) ))。在我看来,您的计算是错误的,例如对于r11+12+21 是 33,而不是 34。 -
感谢您的评论,问题是我不知道元素(我的向量中变量的名称)我只是将问题编辑得更清楚,也感谢您的纠正
标签: r dataframe vector calculated-columns rowsum