2015-04-30 7 views
0

Я использую паттерн дательных данных внутри R, и я пытаюсь построить только LengthOfRecipient == 'nonpronomial' против Modality. Я собрал все LengthOfRecipient == «nonpronomial»:R - привязка конкретных переменных друг к другу

library('languageR') 
lor.np = dative[dative$PronomOfRec == 'nonpronominal',]$LengthOfRecipient 

Я попытался вложенность этой функции подмножества и прикладных векторы, но я не могу понять, способ затем получить доступ к колонку Modality для всего элементов в lor.np и хранить его в mod.np, так что я могу построить и проанализировать данные с:

boxplot(lor.np, mod.np) 

Я очень новый для R и синтаксис является чрезвычайно запутанным. Любая помощь будет очень оценена. Заранее спасибо!

+0

какой набор данных вы используете? является «дательным» из пакета или ваших личных данных? делает 'boxplot (LengthOfRecipient ~ Modality, droplevels (dative [dative $ PronomOfRec == 'nonpronomial',]))' work – rawr

+0

Это из пакета LanguageR. Кажется, это работает, так что спасибо! Делает ли dropplevels() все, кроме заданного аргумента (поэтому в этом случае он удаляет все, кроме тех случаев, когда PronomOfRec == 'nonpronomial'? – luisamaria

+0

Вам не нужны «капли». Когда вы создаете фрейм данных подмножества, все уровни факторов все равно будут присутствовать, даже если для этого уровня нет наблюдений. Поэтому, когда вы используете такую ​​функцию, как 'boxplot', она создаст пространство для неиспользуемого уровня, но ничего не построит. Я просто предположил, что у вас могут быть некоторые неиспользованные уровней после подмножества – rawr

ответ

0

Это может быть проще, чтобы выбрать все столбцы, которые вы хотите сразу, а затем использовать функцию formula в boxplot, а не с использованием векторов:

library('languageR') 
lor.np <- dative[dative$PronomOfRec == 'nonpronominal', 
       c('LengthOfRecipient','Modality')] 

head(lor.np) 
# LengthOfRecipient Modality 
# 2     2 written 
# 3     1 written 
# 5     2 written 
# 6     2 written 
# 7     2 written 
# 11     2 written 

## but you don't even need to select the columns: 
lor.np <- dative[dative$PronomOfRec == 'nonpronominal', ] 

boxplot(LengthOfRecipient ~ Modality, lor.np) 

enter image description here

После просмотра данных, вы дон «т нужно droplevels, но вот пример, когда это может быть полезно:

dat1 <- dative[dative$Modality == 'written', ] 
boxplot(LengthOfRecipient ~ Modality, dat1) 

enter image description here

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