【发布时间】:2019-08-22 11:51:23
【问题描述】:
我在 R 中有以下数据框
DF1<-data.frame("S"=c("A", "B", "C"))
namelist<-c("A", "B", "C")
DF1[c("A", "B", "C")]<-c(1,2,3)
DF1$B<-DF1$B*2
我创建了一个新列 Sum 如下
DF1$Sum<-0
生成的数据框如下
S A B C Sum
A 1 2 1 0
B 2 4 2 0
C 3 6 3 0
我希望 Sum 中的值以这样的方式填充,即 Sum 的 A 行的值将等于 A 列中条目的总和,对于 B 和 C 也是如此。结果应该如下
S A B C Sum
1 A 1 2 1 6
2 B 2 4 2 10
3 C 3 6 3 6
我试过下面的代码
for( i in 1:nrow(DF1)){
for( j in namelist){
DF1$Sum[DF1$S[j][i]]=sum(DF1[,j])
}}
我没有得到想要的结果。 我得到以下输出。我请求有人在这里帮助我。
S A B C Sum
1 A 1 2 1 0
2 B 2 4 2 0
3 C 3 6 3 0
【问题讨论】:
-
是的,应该。为错字道歉。已更正相同
标签: r dataframe for-loop rowsum