R 按列值计算的行的条件和

R 按列值计算的行的条件和,r,R,我正在尝试对不同列中包含值的行求和 rowSums(wood_plastics[,c(48,52,56,60)], na.rm=TRUE) 上面得到了所标识列的行总和,但现在我只想对不同列中包含特定年份的行进行总和。我试过这个 rowSums(mydata[,c(48,52,56,60)], na.rm=TRUE, mydata$current_year = '2015') 没有成功。我想我可能必须从初始列列表中的列号7中挑出年份值 非常感谢您的帮助。我只想说 rowSums(mydata

我正在尝试对不同列中包含值的行求和

rowSums(wood_plastics[,c(48,52,56,60)], na.rm=TRUE)
上面得到了所标识列的行总和,但现在我只想对不同列中包含特定年份的行进行总和。我试过这个

rowSums(mydata[,c(48,52,56,60)], na.rm=TRUE, mydata$current_year = '2015') 
没有成功。我想我可能必须从初始列列表中的列号7中挑出年份值

非常感谢您的帮助。

我只想说

rowSums(mydata[mydata$current_year == '2015',c(48,52,56,60)], na.rm=TRUE) 

因为我没有原始的数据帧,所以无法给出结果。但其思想是,您可以在选择所需列的同时,在逗号之前选择所需的行。这对您来说够清楚了吗?

可能
行和(mydata[,c(48,52,56,60)]*(mydata$current\u year='2015'),na.rm=TRUE)
在这些行中返回0,或者
行和(mydata[,c(48,52,56,60)],na.rm TRUE)[mydata$current\u year!='2015']
删除这些行。看起来很有效!你能告诉我*在代码行中做了什么吗?@lmo方法也在工作。
mydata$current\u year==“2015”
将为您提供一个带TRUE或FALSE的向量。2015年时为真。现在,虽然将TRUE与FALSE相乘将强制为1,将FALSE与0相乘,因此您将只对2015年的记录求和。哦,*就是乘法符号;-)这很有道理,我只是按照我的方式写的,因为我需要在事实发生后的一年中进行过滤,但你的方式绝对是最好的方式。你能建议一种方法在上面添加多行,每行包含2015行吗?我明天会检查你的问题(现在已经在床上了)。你能把答案标为“答案”吗,这样别人也能找到?你好,你的问题能再精确一点吗?“向上面添加多行”的确切含义是什么?是否要聚合数据?如果您能更好地指定您想要获得的内容,我相信我们可以帮助您:-)我现在可以看出,它并不像本来那么清楚。我想做的是把每一个包含特定年份的专栏都抽出来。我有今年,前一年1,前一年2,但没有一个排成一行,所以某一年可以在三列中的任何一列。我想从以上所有列中查找2015,而您的示例查看mydata$current_year=='2015',我想添加类似mydata$current_year=='2015',mydata$prev_year=='1=='2015',mydata$prev_year=='2015'或mydata[c(,4:6)]我希望这是有意义的。您可以简单地使用
运算符
|
&
,并添加一些条件,如
行和(mydata[mydata$current\u year='2015'&mydata$prev\u year\u 1='2015',c(48,52,56,60)],na.rm TRUE)