как суммировать каждый файл с одинаковым именем переменной в R - PullRequest
0 голосов
/ 29 октября 2019

скажем, у меня есть 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]]))
     }

Ошибка в сумме (Group_names_calories [i]): недопустимый тип (символ) аргумента

Ответы [ 2 ]

1 голос
/ 29 октября 2019

Допустим, у вас есть фрейм данных с именем "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
1 голос
/ 29 октября 2019

На первый взгляд, вы вызываете 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 это просто строка. У вас есть какие-либо данные? Не могли бы вы опубликовать это здесь, чтобы помочь другим помочь вам?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...