Reputation: 1023
I am trying to subset a larger dataframe of census data for years 2010 - 2019, which are stored in column "years" as characters. I'm also trying to add a rownumber ID at the end of it.
I am trying to use this code:
acs_2010 <- subset(temp, years == as.character(2010:2019)) %>% mutate(., uID = row_number())
But I get the following error:
Warning message: In years == as.character(2010:2019) : longer object length is not a multiple of shorter object length
Reproducible dataset:
dput(temp)
structure(list(years = c("2009", "2017", "2018", "2018", "2020",
"2017", "2015", "2009", "2019", "2017", "2018", "2020", "2020",
"2016", "2016", "2015", "2018", "2018", "2013", "2016", "2012",
"2020", "2019", "2010", "2015"), GEOID = c("17031600700", "17113001301",
"17111871305", "17177000100", "17097862700", "17031300500", "17031816900",
"17031260400", "17031830600", "17031250800", "17031834700", "17031830300",
"17031811500", "17031823302", "17043845602", "17091010900", "17097860103",
"17163500500", "17031611500", "17031841100", "17097861901", "17031814900",
"17031810501", "17031804603", "17141961600"), TRACT = c("Census Tract 6007",
"Census Tract 13.01", "Census Tract 8713.05", "Census Tract 1",
"Census Tract 8627", "Census Tract 3005", "Census Tract 8169",
"Census Tract 2604", "Census Tract 8306", "Census Tract 2508",
"Census Tract 8347", "Census Tract 8303", "Census Tract 8115",
"Census Tract 8233.02", "Census Tract 8456.02", "Census Tract 109",
"Census Tract 8601.03", "Census Tract 5005", "Census Tract 6115",
"Census Tract 8411", "Census Tract 8619.01", "Census Tract 8149",
"Census Tract 8105.01", "Census Tract 8046.03", "Census Tract 9616"
), COUNTY = c("Cook County", "McLean County", "McHenry County",
"Stephenson County", "Lake County", "Cook County", "Cook County",
"Cook County", "Cook County", "Cook County", "Cook County", "Cook County",
"Cook County", "Cook County", "DuPage County", "Kankakee County",
"Lake County", "St. Clair County", "Cook County", "Cook County",
"Lake County", "Cook County", "Cook County", "Cook County", "Ogle County"
), STATE = c("Illinois", "Illinois", "Illinois", "Illinois",
"Illinois", "Illinois", "Illinois", "Illinois", "Illinois", "Illinois",
"Illinois", "Illinois", "Illinois", "Illinois", "Illinois", "Illinois",
"Illinois", "Illinois", "Illinois", "Illinois", "Illinois", "Illinois",
"Illinois", "Illinois", "Illinois"), persons = c(2328, 1782,
6309, 4354, 3524, 2781, 5479, 1231, 4733, 2415, 1426, 4536, 6387,
6679, 4905, 4547, 3386, 2747, 2932, 7308, 4351, 6553, 5268, 5146,
3411), hus = c(1133, 867, 2181, 2048, 1254, 1051, 1870, 575,
2258, 883, 1032, 2394, 2068, 2500, 2095, 1978, 1402, 1209, 1119,
2891, 1314, 2787, 2050, 2698, 1474), husocc = c(832, 785, 2098,
1686, 1111, 853, 1636, 454, 1974, 782, 541, 2137, 1933, 2412,
2039, 1655, 1325, 893, 831, 2674, 1289, 2487, 1945, 2468, 1325
), husvac = c(301, 82, 83, 362, 143, 198, 234, 121, 284, 101,
491, 257, 135, 88, 56, 323, 77, 316, 288, 217, 25, 300, 105,
230, 149), husocc_own = c(417, 476, 1854, 1447, 530, 271, 1297,
181, 480, 443, 45, 888, 1646, 1038, 1225, 1295, 1111, 309, 348,
1134, 1151, 787, 1652, 898, 738)), row.names = c(NA, -25L), class = c("tbl_df",
"tbl", "data.frame"))
Upvotes: 0
Views: 29
Reputation: 879
df <-
subset(df, years >= 2010 &
years <= 2019) %>%
mutate(uID = row_number())
Check
> min(df$years)
[1] "2010"
> max(df$years)
[1] "2019"
Or as suggested in the comments using %in%
df <-
subset(df, years %in% (2010:2019)) %>%
mutate(uID = row_number())
Upvotes: 1