2015-06-26 2 views
0

Я хочу построить график этого (см. Ниже), но после подмножества R отображает все переменные, но только данные выбранных.Как построить данные подмножества без невыбранных данных в R

test<-subset(OrchardSprays,treatment == "A") 
plot(test$treatment, test$decrease) 

Так есть способ построить только переменную, которую я хочу, не удаляя ее в моем исходном фрейме данных?

Я не хочу этого! enter image description here

+0

'treatment' является переменным фактором. Я считаю, что если вы сделаете это «символом», у вас не будет никаких проблем. – Frank

ответ

2

Вы, вероятно, хотите droplevels:

test <- subset(OrchardSprays, treatment == "A") 
test <- droplevels(test) 
plot(test$treatment, test$decrease) 
+0

Супер простой и приятный! Спасибо за это! –

+0

[Подобный вопрос здесь] (http://stackoverflow.com/questions/1195826/drop-factor-levels-in-a-subsetted-data-frame) –

0

Попробуйте это:

test<-subset(OrchardSprays,treatment == "A") 
test$treatment <- as.character(test$treatment) 
plot(test$treatment, test$decrease) 

Я думаю, что проблема в том, что test$treatment является фактором, с кучей уровней, и что plot подхватывает на всех уровнях, когда вы участка подмножество. Сделав test$treatment строку, вы должны избежать этой проблемы.

+0

У вас здесь действительно хороший момент! Но это говорит о том, что существует проблема с as.character: 'Ошибка в plot.window (...): нужны конечные значения« xlim » Кроме того: Предупреждающие сообщения: 1: В xy.coords (x, y, xlabel, ylabel, log): NAs, введенные принуждением 2: In min (x): отсутствие не пропускаемых аргументов до min; return Inf 3: В max (x): нет не пропущенных аргументов до max; возвращение -Inf' Это работает 'тест <-подмножество (OrchardSprays, лечение == "A") тест $ лечение <- as.factor (тест $ лечение) участок (тест $ лечение, тест $ уменьшение)' –

Смежные вопросы