在 R 中使用 table() 按条件获取人口统计信息
Get demographic information by condition using table() in R
我有一个数据框:
df <- data.frame (ID = c(1:20),
Ethnicity = c(rep(c("White", "Asian", "Black", "Hispanic", "Other"), times=20/5)),
Age = c(1:20),
Set = rep(c(1,2,3,4), times=20/4)
)
我想知道 ethnicity
和 age
按 Set
分类。我通常使用 table(df$ethnicity)
,但如何使用 Set
?
种族的期望输出是 table,每个 ethnicity
的百分比乘以 Set
。例如,在这种情况下,所有集合都将有 20% 的白人、20% 的亚洲人、20% 的黑人、20% 的西班牙裔和 20% 的其他人。至于年龄,它会在table.
中输出每个集合的平均年龄
谢谢!
您可以使用 prop.table
:
prop.table(table(df$Ethnicity, df$Set), 2)
1 2 3 4
Asian 0.2 0.2 0.2 0.2
Black 0.2 0.2 0.2 0.2
Hispanic 0.2 0.2 0.2 0.2
Other 0.2 0.2 0.2 0.2
White 0.2 0.2 0.2 0.2
对于数字 x 分类,您可以使用 by
:
by(df$Age, df$Ethnicity, mean)
df$Ethnicity: Asian
[1] 9.5
-------------------------------------------------------------
df$Ethnicity: Black
[1] 10.5
-------------------------------------------------------------
df$Ethnicity: Hispanic
[1] 11.5
-------------------------------------------------------------
df$Ethnicity: Other
[1] 12.5
-------------------------------------------------------------
df$Ethnicity: White
[1] 8.5
我有一个数据框:
df <- data.frame (ID = c(1:20),
Ethnicity = c(rep(c("White", "Asian", "Black", "Hispanic", "Other"), times=20/5)),
Age = c(1:20),
Set = rep(c(1,2,3,4), times=20/4)
)
我想知道 ethnicity
和 age
按 Set
分类。我通常使用 table(df$ethnicity)
,但如何使用 Set
?
种族的期望输出是 table,每个 ethnicity
的百分比乘以 Set
。例如,在这种情况下,所有集合都将有 20% 的白人、20% 的亚洲人、20% 的黑人、20% 的西班牙裔和 20% 的其他人。至于年龄,它会在table.
谢谢!
您可以使用 prop.table
:
prop.table(table(df$Ethnicity, df$Set), 2)
1 2 3 4
Asian 0.2 0.2 0.2 0.2
Black 0.2 0.2 0.2 0.2
Hispanic 0.2 0.2 0.2 0.2
Other 0.2 0.2 0.2 0.2
White 0.2 0.2 0.2 0.2
对于数字 x 分类,您可以使用 by
:
by(df$Age, df$Ethnicity, mean)
df$Ethnicity: Asian
[1] 9.5
-------------------------------------------------------------
df$Ethnicity: Black
[1] 10.5
-------------------------------------------------------------
df$Ethnicity: Hispanic
[1] 11.5
-------------------------------------------------------------
df$Ethnicity: Other
[1] 12.5
-------------------------------------------------------------
df$Ethnicity: White
[1] 8.5