Подтвердить что ты не робот

Как построить подмножество кадра данных в R?

Есть ли простой способ сделать это в R:

plot(var1,var2, for all observations in the data frame where var3 < 155)

Это возможно, создав новые данные newdata <- data[which( data$var3 < 155),], но затем я должен переопределить все переменные newvar1 <- newdata$var1 и т.д.

4b9b3361

Ответ 1

with(dfr[dfr$var3 < 155,], plot(var1, var2)) должен сделать трюк.

Изменить в отношении нескольких условий:

with(dfr[(dfr$var3 < 155) & (dfr$var4 > 27),], plot(var1, var2))

Ответ 2

Самый простой вариант:

plot(var1[var3<155],var2[var3<155])

Это не выглядит хорошо из-за избыточности кода, но подходит для быстрого n грязного взлома.

Ответ 3

Вот как я это сделал бы, чтобы попасть в ограничение 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

Ответ 4

Этот кусок должен выполнять работу:

plot(var2 ~ var1, data=subset(dataframe, var3 < 150))

С наилучшими пожеланиями.

Как это работает:

  • Fisrt, мы делаем выбор, используя функцию подмножества. Могут использоваться другие возможности, такие как подмножество (dataframe, var4 == "some" и var5 > 10). Оператор & может использоваться для выбора всех "некоторых" и более 10. Кроме того, оператор " |" может использоваться для выберите "some" или "более 10".
  • Следующим шагом будет построение результатов подмножества, используя оператор тильды (~), который просто подразумевает формулу, в данном случае var.response ~ var.independet. Конечно, это не формула, но отлично подходит для этого случая.