【问题标题】:how to sum each file by the same variable name in R如何在R中用相同的变量名对每个文件求和
【发布时间】:2019-10-30 22:11:56
【问题描述】:

假设我有 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]): 参数的无效“类型”(字符)

【问题讨论】:

    标签: r


    【解决方案1】:

    假设您有一个名为“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
    

    【讨论】:

    • 谢谢@NAN,虽然我问了我的教授,但最终我还是做了这个选项,他给了一个提示,我认为这更容易
    【解决方案2】:

    乍一看,您是在变量名上调用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 只是一个字符串。你有数据吗?你能把它贴在这里帮助别人帮助你吗?

    【讨论】:

    • 感谢您的见解。我有同样的看法,但我希望 R 在函数中将名称转换为变量。将尝试 colSums 并让您知道,如果没有帮助,也会发布数据。
    • - 第 1 组 卡路里说明 餐 1 177 150 克燕麦 + 200 毫升牛奶零食 1 20 50 克酸奶餐 2 600 烤豆零食 2 200 1 块松饼 - 第 2 组餐 1 400 250 克燕麦零食 1 120 水果餐 2 600 300 克鸡汤零食 2 200 1 块松饼很抱歉尝试以列表格式共享数据,但是当我发表评论时,它都变成了文本
    • 如果您是这里的新用户,这很有意义。这在发布问题时可能会有所帮助。至少它在我的第一个项目中帮助了我自己。试试看:stackoverflow.com/help/how-to-ask
    • @LilitGriggsAtoyan 也许至少你的数据集的快照可以帮助其他人理解你的数据。不幸的是,您的问题的答案完全取决于您的数据集具有什么结构,即它是一个数据框吗?数据框列表?
    • 感谢@Khourdos,请查看链接。无论如何,我问了我的教授,他说可以将所有组组合在一个数据框中,所以我只是这样做并使用了 group_by 函数。谢谢你的帮助。将阅读有关如何提问的链接:)
    猜你喜欢
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2021-06-17
    • 2011-11-11
    • 2012-06-30
    • 2021-03-02
    相关资源
    最近更新 更多