对不起,如果这是无聊的话,但我找不到答案。我有一个men.txt文件,其中包含年轻人和老年人的数据,例如:
"BalanceMeasure" "Age_group"
26.272722832203 "elderly"
23.4572384621414 "elderly"
28.0295727143824 "elderly"
26.6261784908838 "elderly"
14.5754428676468 "young"
18.5711350938964 "young"
6.03642481885425 "young"
15.2875928698119 "young"
16.8511145817837 "young"
17.4018884973852 "young"这只显示了我必须使用的实际txt文件的一小部分,我只想显示我的意思。我需要根据“年轻人”和“老年人”来区分数据,找出平均值。我试过这个:
> data1 <- subset(balancedata_0, Age_group == "young")
> data2 <- subset(balancedata_0, Age_group == "elderly")但这只给了我一张“年轻”和“老人”的单子。那么,我如何在一个数据集中得到与“年轻”男性相关的所有数字,而在另一个数据集中获得与“老年”男性相关的数字。
发布于 2016-04-12 16:57:33
你可以试试split()
age_list <- lapply(split(balancedata_0,balancedata_0$Age_group), `[[`, 1)
#$elderly
#[1] 26.27272 23.45724 28.02957 26.62618
#$young
#[1] 14.575443 18.571135 6.036425 15.287593 16.851115 17.401888并提取平均值。
lapply(age_list,mean)
#$elderly
#[1] 26.09643
#
#$young
#[1] 14.78727数据
balancedata_0 <- structure(list(BalanceMeasure = c(26.272722832203, 23.4572384621414,
28.0295727143824, 26.6261784908838, 14.5754428676468, 18.5711350938964,
6.03642481885425, 15.2875928698119, 16.8511145817837, 17.4018884973852),
Age_group = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L),
.Label = c("elderly", "young"), class = "factor")),
.Names = c("BalanceMeasure", "Age_group"), class = "data.frame",
row.names = c(NA, -10L))https://stackoverflow.com/questions/36579443
复制相似问题