子集模拟数据

时间:2014-10-16 04:36:27

标签: r

我有一个模拟数据有7个研究,它真的是非常庞大的文件。它包含以下列:

> SIM.data
TIME   CONC STUDY
   0      2     7
 0.5      5     8
   1      8     9
   2      8     9
   0     10    10 
 0.5     12    10 
   5     15    10

我想丢弃研究7,8 9的时间和浓度数据,TIMES小于或等于1小时。如何一次性使用子集功能?等;

SIMdata <- subset (SIMdata, discard data for TIMES <= 1 hour for STDUY <10 only) 

或者,

SIMdata <- subset (SIMdata, consider TIME>1 for STUDY <10 but all for STUDY >=10)

感谢。

3 个答案:

答案 0 :(得分:0)

您不能只丢弃TIME值,但可以将它们设置为NA:

SIM.data$TIME<-ifelse(SIM.data$STUDY<10 & SIM.data$TIME<=1, NA, SIM.data$TIME)

如果要删除满足此条件的所有行,

newData <- SIM.data[!(SIM.data$STUDY<10 & SIM.data$TIME<=1),]

答案 1 :(得分:0)

试试这个

   dataSub <- simdata$study<10 & simdata$time<1

    SIMdata2 <- simdata[!dataSub,]

答案 2 :(得分:0)

这将&#34;丢弃&#34;满足这些条件的行:

SIM.data <- subset (SIM.data, !(TIME <= 1 $ STUDY <10) )