首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据按r中行的名称分隔?

如何将数据按r中行的名称分隔?
EN

Stack Overflow用户
提问于 2016-04-12 16:48:50
回答 1查看 42关注 0票数 0

对不起,如果这是无聊的话,但我找不到答案。我有一个men.txt文件,其中包含年轻人和老年人的数据,例如:

代码语言:javascript
复制
"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文件的一小部分,我只想显示我的意思。我需要根据“年轻人”和“老年人”来区分数据,找出平均值。我试过这个:

代码语言:javascript
复制
> data1 <- subset(balancedata_0, Age_group == "young")
> data2 <- subset(balancedata_0, Age_group == "elderly")

但这只给了我一张“年轻”和“老人”的单子。那么,我如何在一个数据集中得到与“年轻”男性相关的所有数字,而在另一个数据集中获得与“老年”男性相关的数字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-12 16:57:33

你可以试试split()

代码语言:javascript
复制
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

并提取平均值。

代码语言:javascript
复制
lapply(age_list,mean)
#$elderly
#[1] 26.09643
#
#$young
#[1] 14.78727

数据

代码语言:javascript
复制
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))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36579443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档