假设我有Group1,Group2,... Group10。每个组都有两列-“卡路里”(数字)和“描述”。
如何提取每组的总卡路里?
我正在尝试此代码,但“ SUM”功能似乎不起作用
for (i in (1:10)){
Group_names_calories<-c(paste(paste("Group",sep = "", 1:10),sep="", "$calories")) # to get this epression "Group1$calories".... "Group10$calories"
calories_by_group<- assign(Group_names_calories[i],
sum(Group_names_calories[[i]]))
}
sum(Group_names_calories [i])错误:参数的无效“类型”(字符)
假设您有一个名为“ df”的数据框
Group Cal
1 100
2 98
3 102
1 103
2 101
3 99
dplyr库可以帮助您分组和汇总数据框中的值。
install.packages("dplyr") # if you don't have dplyr installed
library(dplyr)
target <- df %>% group_by(Group) %>% summarize(sum=sum(Cal))
Output:
target
Group Cal
1 202
2 199
3 201
乍一看,您是在变量名而不是变量本身上调用sum()
。
[另外,手动创建"Group1$calories",Group2$calories",Group3$calories",Group4$calories",Group5$calories",Group6$calories",Group7$calories",Group8$calories",Group9$calories", Group10$calories"
的字符向量,恐怕对您想找的每个变量/列的预期总和没有帮助。 colSums()
能为您提供帮助吗?
仍然,您需要在示例中演示数据主体。 Group_names_calories
只是一个字符串。你有资料吗您能在这里发布它以帮助他人帮助您吗?