如何在函数rowsum中使用'group'参数

时间:2015-05-21 21:52:45

标签: r dataframe rowsum

               M.5    M5.9  M10.14 M14.17     F.5    F5.9  F10.14 F14.17
Alabama     154902  158765  163731  97673  146906  154067  157592  91339
Alaska       27593   27033   26425  15899   26341   25172   24487  14315
Arizona     223705  236024  230633 138579  214067  218351  227456 130770
Arkansas     99007  105750  103149  59618   92649   99763   94845  56848
California 1296287 1296812 1306123 825862 1240523 1239678 1245997 788024
Colorado    172562  187549  168057 100405  164433  172087  170502  95712

我正在使用软件包acs汇编美国社区调查的数据。这是我所拥有的关于每个州的男性和女性人数的数据框的头部,年龄低于5岁,5-9,10-14岁等。数据框名称为N0018_12_4。我想了解每个州18岁以下儿童的总人口数。当我尝试这样的rowum时,我收到一条错误消息,说“参数”组“缺失,没有默认值”。我尝试阅读R上的帮助页面并搜索如何在cran /其他地方使用参数'group'的示例,但我仍然没有得到我应该对该参数做的事情。

任何帮助将不胜感激! :)

2 个答案:

答案 0 :(得分:4)

我认为您正在寻找的功能是?rowSums

这里我假设您的数据看起来像这样,我称之为“country.csv”:

M.5,M5.9,M10.14,M14.17,F.5,F5.9,F10.14,F14.17
Alabama,154902,158765,163731,97673,146906,154067,157592,91339
Alaska,27593,27033,26425,15899,26341,25172,24487,14315
Arizona,223705,236024,230633,138579,214067,218351,227456,130770
Arkansas,99007,105750,103149,59618,92649,99763,94845,56848
California,1296287,1296812,1306123,825862,1240523,1239678,1245997,788024
Colorado,172562,187549,168057,100405,164433,172087,170502,95712

那么如果你这样做:

dat <- read.csv("country.csv")
rowSums(dat)

您将获得输出:

Alabama     Alaska    Arizona   Arkansas California   Colorado 
1124975     187265    1619585     711629    9239306    1231307 

如果您想将其附加到数据框,您可以执行以下操作:

dat$total <- with(dat, rowSums(dat))

将按预期将列添加到您的数据中:

               M.5    M5.9  M10.14 M14.17     F.5    F5.9  F10.14 F14.17   total
Alabama     154902  158765  163731  97673  146906  154067  157592  91339 1124975
Alaska       27593   27033   26425  15899   26341   25172   24487  14315  187265
Arizona     223705  236024  230633 138579  214067  218351  227456 130770 1619585
Arkansas     99007  105750  103149  59618   92649   99763   94845  56848  711629
California 1296287 1296812 1306123 825862 1240523 1239678 1245997 788024 9239306
Colorado    172562  187549  168057 100405  164433  172087  170502  95712 1231307

答案 1 :(得分:1)

使用rowSums()而不是rowum(),在R中它被定义为先验的。