2012-01-17 8 views
1

Я новичок в R, и я пытаюсь использовать некоторые графики с использованием ggplot и немного обратной инженерии. У меня есть кадр данных, как:R boxplot ggplot issues

> data 
     experiments percentages 
    1 A   72.11538 
    2 A   90.62500 
    3 A   91.52542 
    4 B   94.81132 
    5 B   96.95122 
    6 B   98.95833 
    7 C   83.75000 
    8 C   84.84848 
    9 C   91.12903 

потому, что А и В подобные эксперименты я следующее

data$experiments[data$experiments == "B"] = "A" 

Если я сейчас

ggplot(data, aes(x = experiments, y = percentages)) + geom_boxplot() 

Я получаю один ящик для A, один для C, но все же я получаю ярлык для B!

Есть ли способ избавиться от B по оси X?

Большое спасибо за вашу помощь

ответ

3

Я предполагаю, что experiments в data является фактором. Если вы запустите , я полагаю, что experiments является фактором с 3 уровнями: A, B и C. По умолчанию строки превращаются в факторы при создании фрейма данных.

Идея факторов состоит в том, что они представляют собой набор возможных значений, даже если не все возможности находятся в реальных данных. Есть два способа исправить это.

Преобразование столбца в строку

data$experiments <- as.character(data$experiments) 

Или удалить неиспользуемый уровень в факторе

data$experiments <- droplevels(data$experiment) 
+0

Благодаря Брайан, я попробовал решение droplevels и это работает! – lince

+0

Не могли бы вы отметить это как правильный ответ (нажмите серый галочку). –

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