全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6391 12
2018-05-29
我这边有一个数据集集,大概有2万行数据,有两个变量为x1,x2,其中,x1为字符串型,x2为因子型,其中,levels(data$x2)=747,也就是x2为747个层次。现在,我从数据集data中按照x2层次分别提取数据子集,使得一共有747个子集。如果用which来选,那要做747次。请问哪位人大的师兄能帮下小妹吗?
感激不尽!!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-5-29 15:49:00
  用tidyr::nest()  轻松解决,具体见其说明。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-29 15:57:22
jgchen1966 发表于 2018-5-29 15:49
用tidyr::nest()  轻松解决,具体见其说明。。
变量x2是一个"100","101",..."747",的值,每一个值在数据库data中都对于多个行,我就是想把对于的行抽出来组成子集。你能帮下我吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-29 16:10:27
maiweijie4321 发表于 2018-5-29 15:57
变量x2是一个"100","101",..."747",的值,每一个值在数据库data中都对于多个行,我就是想把对于的行抽出来 ...
不知目的,也无法有具体的解:最简单的:

  data%<>%group_by(x2)%>%nest(.key=mysubdata)%>%ungroup()
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-29 16:22:24
jgchen1966 发表于 2018-5-29 16:10
不知目的,也无法有具体的解:最简单的:

  data%%group_by(x2)%>%nest(.key=mysubdata)%>%ungroup()
具体类似这样:data数据集如下图: QQ截图20180529162028.png
我就是想把因子x2下的值101对于的数据子集提取出来,102的也提取出来,103的也提取出来,...,形成747个子集
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-29 16:36:16
data%<>%group_by(x2)%>%nest(.key=mysubdata)%>%ungroup()
上述程序已形成你所要的747个子集,放在data中列mysubdata中了。。就瞧你如何用了??  
按本人对数集操作的理解与应用,,根本无需从data中再取出来了,在其中可作任何R运算了,并且永远保留了其“身份与来源”。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群