Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何按名称聚合data.frame的行,将R上相应列的数值相加?_R_Dataframe_Aggregate - Fatal编程技术网

如何按名称聚合data.frame的行,将R上相应列的数值相加?

如何按名称聚合data.frame的行,将R上相应列的数值相加?,r,dataframe,aggregate,R,Dataframe,Aggregate,我是Rstudio的早期用户,我有一个非常简单的问题,但不幸的是我无法解决它。 我只想通过df的第一列中包含的单词来聚合data.frame的行。 data.frame由五列组成: 第一种是由文字构成的; 第二个、第三个、第四个、第五个由数值组成 例如,如果数据为: SecondWord X Y Z Q NO 1 2 2 1 NO 0 0 1 0 YES 1 1 1 1 我希望看到这样的结果: SecondWord X Y Z Q NO

我是Rstudio的早期用户,我有一个非常简单的问题,但不幸的是我无法解决它。 我只想通过df的第一列中包含的单词来聚合data.frame的行。 data.frame由五列组成: 第一种是由文字构成的; 第二个、第三个、第四个、第五个由数值组成

例如,如果数据为:

SecondWord  X Y Z Q
NO          1 2 2 1
NO          0 0 1 0
YES         1 1 1 1
我希望看到这样的结果:

SecondWord  X Y Z Q
NO          1 2 3 1
YES         1 1 1 1
我怎么办? 我尝试使用以下方法:

test <- read.csv2("test.csv")
df<-aggregate(.~Secondword,data=test, FUN = sum, na.rm=TRUE)
测试也应该有效

例如,类似于:

library(plyr)
grouped <- ddply(test, "Secondword", numcolwise(sum))
库(plyr)

分组您也可以使用
tidyverse

library(tidyverse)
df <- test %>%
  group_by(SecondWord) %>%
  summarize_each(funs(sum))

df
# SecondWord     X     Y     Z     Q
#         NO     1     2     3     1
#        YES     1     1     1     1
库(tidyverse)
df%
分组依据(第二个字)%>%
各汇总(funs(sum))
df
#第二个词X Y Z Q
#第1231号
#是的,1

aggregate(.~SecondWord,test,sum)
适合我。在应用
aggregate
之前,先打印
test
一次。一般来说,你应该确定问题主体中使用的软件包,并参考帮助文件,如
?ddply
,而不是使用可能在几年后中断的链接。好吧,我希望谷歌在几年后仍然存在。如果它坏了,在那里搜索ddply。