如何在R中提取一些样本

时间:2014-04-04 18:00:39

标签: r

如何仅为Trt' Trt'提取随机数字(CD)。在时间点1。

ns <- 20
ans <- matrix(rep(0,200),nrow=100)
for(k in 1:100)
{ 
x1=rnorm(ns,0,1)
x2=rnorm(ns,5,5)
x3=rnorm(ns,10,5)
U=c(x1,x2,x3)
simdata=data.frame(CD=U,
                   Time=factor(rep(c(1,2,3),each=ns)),
                   treatment=sample(rep(c('Trt','placebo'),ns/2)))
ans[k,]=table(simdata$treatment)
}
simdata

3 个答案:

答案 0 :(得分:1)

您可以通过多种方式实现这一目标:

simdata$CD[sim_data$Time == 1]

或使用subset

subset(simdata, Time == 1, select = "CD")

前者建议用于脚本,后者在交互模式(R提示)中运行良好。

答案 1 :(得分:0)

你可以为这两个条件(treatment =“Trt”和Time =“1”)进行子集,如下所示:

smpl <- simdata[simdata$Time=="1" & simdata$treatment=="Trt",]

如果您只想要CD列:

smpl <- simdata$CD[simdata$Time=="1" & simdata$treatment=="Trt",]

答案 2 :(得分:0)

我认为你想要CD for Timepoint&#34; 1&#34;和治疗=&#34; Trt&#34;

subset(simdata, Time == 1 & treatment == "Trt", select = "CD")

或替代整个数据框

subset(simdata, Time == 1 & treatment == "Trt")