我有一个带有两级数据的R数据帧:id和year.在由定义的组内id,年份增加(整个数据集每组具有相同(数量)年,如下所示:
id year var1 var2
11A 2001 ... ...
11A 2002 ... ...
11A 2003 ... ...
11A 2004 ... ...
13B 2001 ... ...
13B 2002 ... ...
13B 2003 ... ...
13B 2004 ... ...
22Z 2001 ... ...
Run Code Online (Sandbox Code Playgroud)
在我的数据中,我有大约20,000个组,这些组的数量太多,无法制作出很好的增长曲线图.如何随机选择约20个我的身份证?(所以:还要选择与该id对应的所有4行年份?)
如果你使用sample然后索引,这是非常简单的.这是一个与你所呈现的相似的组合示例.它实际上只有两行代码,如果你愿意,可以在一行中完成.
dat <- data.frame(id=paste0(LETTERS[1:8], rep(1:1250, 8)),
year=as.factor(as.character(sample(c(1990:2012, 20000, T)))),
var1=rnorm(20000), var2=rnorm(20000))
#a look at the data
head(dat)
#sample 20 id's randomly
(ids <- sample(unique(dat$id), 20))
#narrow your data set
dat2 <- dat[dat$id %in% ids, ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3098 次 |
| 最近记录: |