【发布时间】:2015-11-13 17:50:10
【问题描述】:
这是我第一次使用 R,如果这个问题措辞不当,请原谅我。我有一个导入到 R 中的 .csv 文件,我正在尝试总结一些数据。每一行数据,如果对于给定的年份、研究地点和区域,并且每一列都有存在的物种数量。每个物种有 4 列,因为有 4 次调查可以看到该物种。
我正在尝试按年份和研究地点获取每个物种的总和。列 5:8 是一个物种,9:12 是另一个,13:16 是另一个,依此类推。这是我认为可以按年份 (YYYY) 和研究区域 (SAR) 总结 5:8 列的代码:
aggregate(test[,5:8],by = list("SAR","YYYY"), FUN = sum, na.rm = TRUE)
这给了我“参数必须具有相同长度”的错误消息。谁能帮我完成这个初始步骤?
以下是部分数据:
SAR YYYY GRID_ID WID col1 col2 col3 col4
BCPALP 2005 1 1189 NA NA 0 0
BCPALP 2005 1 1190 0 NA 0 0
BCPALP 2005 1 1191 0 0 NA NA
BCPALP 2005 1 1192 0 NA NA NA
BCPALP 2005 1 1194 NA NA 1 NA
BCPALP 2005 1 1195 NA NA 1 NA
BCPALP 2005 1 1196 0 NA 0 NA
BCPALP 2005 1 1198 0 NA 0 NA
BCPALP 2005 1 1199 0 NA 0 0
我希望得到这样的输出:
SAR YYYY total of columns 1:4
BCPALP 2005 2
这是我刚刚尝试的代码。
aggregate(cbind("col1", "col2", "col3", "col4")~SAR+YYYY, test, FUN=sum, na.rm=TRUE, na.action=NULL)
它给了我一条错误消息,指出“可变长度不同(为 'SAR' 找到)”。
我回去查了一下数据,所有的变长都是一样的。
【问题讨论】:
-
请展示一些示例数据和预期输出。
-
这是我掌握的一些数据:
-
请在您的帖子中更新
-
顺便说一句,你能指定
YYYY和SARs在数据集中的位置吗 -
抱歉,我无法弄清楚如何将数据表的一部分添加到评论中。 SAR 和 YYYY 分别是第 1 列和第 2 列的标题。
标签: r