Как построить подмножество фрейма данных в R?
есть ли простой способ сделать это в R:
plot(var1,var2, for all observations in the data frame where var3 < 155)
возможно путем создания новых данных newdata <- data[which( data$var3 < 155),]
но тогда я должен переопределить все переменные newvar1 <- newdata$var1
etc.
4 ответов
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])
это не выглядит хорошо из-за избыточности кода, но это нормально для fastn
грязные взлома.
вот как я бы это сделал, чтобы попасть в ограничение 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, Райнер!--2-->
этот кусок должен выполнить работу:
plot(var2 ~ var1, data=subset(dataframe, var3 < 150))
Мои наилучшие пожелания.
Как это работает:
- Fisrt, мы делаем выбор, используя функцию подмножества. Другие возможности могут быть использованы, например, подмножество (dataframe, var4 == "some" & var5 > 10). В "&" оператор может использоваться для выбора всех "некоторых"и более 10. Также оператор "| "может использоваться для выбора "некоторые"или "за 10".
- следующий шаг-построить результаты подмножества, используя оператор Тильды ( ~ ), который просто подразумевает формулу, в этом случае var.ответ ~ ВАР.индепендет. Конечно, это не формула, но отлично работает для этого случая.