[问题] data frame 捞取特定条件资料

楼主: aee36900 (持久战!!)   2016-03-30 08:25:08
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
请把以下不需要的部份删除
新手(没写过程式,R 是我的第一次)
[问题叙述]:
手上有一个data frame资料
c1是id,一个id有两笔资料
df格式如下
c1 c2 c3
2356 12 65
2356 56 64
4589 26 01
4589 23 48
7852 53 51
7852 32 54
8963 56 21
8963 32 55
我只需要捞取一部分的资料来做分析
知道可以使用sample来随机捞取资料
但是有用到的id 那两笔都需要选进来
因此 我的想法是
先针对c1取unique后,再从这些资料取sample当作我要捞取的条件
取出来的就是我要用来分析用的资料
我尝试了用下面的指令要随机捞2笔
结果却只有2笔资料,是不同的id
(但我想要的结果应该是2个不同的id,4笔资料)
df[df$c1==sample(unique(df$c1),2),]
请问该怎样叙述才会达到我的需求?
[程式范例]:
df = data.frame(
c1 = c(2356,2356,4589,4589,7852,7852,8963,8963),
c2 = c(12,56,26,23,53,32,56,32),
c3 = c(65,64,01,48,51,54,21,55))
df[df$c1==sample(unique(df$c1),2),]
c1 c2 c3
4 4589 23 48
7 8963 56 21
[关键字]:
data frame unique select condition
作者: celestialgod (天)   2016-03-30 09:51:00
==改成%in%就好
楼主: aee36900 (持久战!!)   2016-03-31 16:41:00
感谢c大~

Links booklink

Contact Us: admin [ a t ] ucptt.com