Есть ли простой способ сделать это в R:
plot(var1,var2, for all observations in the data frame where var3 < 155)
Это возможно путем создания новых данных newdata <- data[which( data$var3 < 155),], но тогда мне нужно переопределить все переменные newvar1 <- newdata$var1 и т. Д.
newdata <- data[which( data$var3 < 155),]
newvar1 <- newdata$var1
with(dfr[dfr$var3 < 155,], plot(var1, var2)) должен сделать свое дело.
with(dfr[dfr$var3 < 155,], plot(var1, var2))
Редактировать в отношении нескольких условий:
with(dfr[(dfr$var3 < 155) & (dfr$var4 > 27),], plot(var1, var2))
Самый простой вариант:
plot(var1[var3<155],var2[var3<155])
Это не выглядит хорошо из-за избыточности кода, но вполне подходит для быстрого n грязного взлома.
n
Вот как бы я это сделал, чтобы получить ограничение var4:
dfr<-data.frame(var1=rnorm(100), var2=rnorm(100), var3=rnorm(100, 160, 10), var4=rnorm(100, 27, 6)) plot( subset( dfr, var3 < 155 & var4 > 27, select = c( var1, var2 ) ) )
Rgds, Rainer
Этот кусок должен выполнить работу:
plot(var2 ~ var1, data=subset(dataframe, var3 < 150))
Мои наилучшие пожелания.
Как это работает: