所以基本上我有一个看起来像这样的数据框:
Community Pop_Total Median_Age Under_5 5-9 10-14 15-19 20-24
Akutan city NA NA NA NA NA NA 71
Alcan Border NA NA 2 NA NA NA NA
Alcan Border NA NA NA NA NA 2 NA
Alcan Border NA NA NA NA 5 NA NA
Ambler City 224 NA NA NA NA NA NA
Ambler City NA NA NA 17 NA NA NA
是否有一种基于多列数据组合多行的简单方法?我已经看过一些脚本,说你可以根据一个或两个数据列在一个列中组合一个重复变量但是我需要做更大规模的(我有~400行有重复和~30列(和每列)有一个大名字。)
理想情况下,它看起来像:
Community Pop_Total Median_Age Under_5 5-9 10-14 15-19 20-24
Akutan city NA NA NA NA NA NA 71
Alcan Border NA NA 2 NA 5 2 NA
Ambler City 224 NA NA 17 NA NA NA
我是R的新人。谢谢你!
编辑 - 我使用了以下代码,但是当我崩溃时,很多列数据(第一个重复的社区名称之后的行中的数据消失了:10-14和15-19的Alcon边界值变为NA)丢失了它。想法?
library(dplyr)
census8 <- census7 %>%
group_by(Community) %>%
summarise_each(funs(sum))
答案 0 :(得分:1)
要按照您希望的方式将NA
放在那里,您可以使用data.table
:
library(data.table)
setDT(df)[,lapply(.SD, function(x) ifelse(all(is.na(x)), NA_integer_, sum(x, na.rm = T))),
by = Community]
# Community Pop_Total Median_Age Under_5 5-9 10-14 15-19 20-24
#1: Akutan_city NA NA NA NA NA NA 71
#2: Alcan_Border NA NA 2 NA 5 2 NA
#3: Ambler_City 224 NA NA 17 NA NA NA