如何在函数 rowsum 中使用 'group' 参数
how to use the 'group' argument in function 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 岁以下儿童的总人口。当我像这样尝试 rowsum 时,我收到一条错误消息,指出 "argument "group" is missing, with no default"。我尝试阅读 R 上的帮助页面并搜索如何在 cran/ 其他地方使用参数 'group' 的示例,但我仍然不明白我应该如何处理该参数。
任何帮助将不胜感激! :)
我认为您要查找的函数是 ?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
使用 rowSums() 而不是 rowsum(),在 R 中它被定义为先验。
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 岁以下儿童的总人口。当我像这样尝试 rowsum 时,我收到一条错误消息,指出 "argument "group" is missing, with no default"。我尝试阅读 R 上的帮助页面并搜索如何在 cran/ 其他地方使用参数 'group' 的示例,但我仍然不明白我应该如何处理该参数。
任何帮助将不胜感激! :)
我认为您要查找的函数是 ?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
使用 rowSums() 而不是 rowsum(),在 R 中它被定义为先验。