2016-10-25 5 views
0

Вместо того, чтобы показывать больше2 или меньше2 в столбце, он отображается только как NA. Почему вместо них появляются имена символов?r - получение всего NA в упорядоченном столбце фактора

careermore2 <- vector(mode="character",length=length(mlb$careeryrs)) 
"less2" <- careermore2[mlb$careeryrs<=2] 
"more2" <- careermore2[mlb$careeryrs>=2] 
No.seasons <-  factor(careermore2,levels=c("more2","less2"),exclude=NA,ordered=TRUE) 
mlb2 <- cbind(mlb,No.seasons) 
str(mlb2$No.seasons) 
head(mlb2$No.seasons) 
mlb2[mlb2$No.seasons=="more2",] 
+0

удалить двойную кавычку в виде переменной – HubertL

+0

, откуда берется 'mlb'? – Spacedman

+0

@HubertL R не заботится: '' foo "<- 99' и' foo <- 99' эквивалентны. Что странно? Но не рекомендуется. – Spacedman

ответ

0

Глядя на careermore2 Я бы сказал, у вас есть эти навыворот:

"less2" <- careermore2[mlb$careeryrs<=2] 
"more2" <- careermore2[mlb$careeryrs>=2] 

Это создает два объекта. Вы действительно имели в виду:

careermore2[mlb$careeryrs<=2] = "less2" 
careermore2[mlb$careeryrs>=2] = "more2" 

т.е. установить соответствующие значения в careermore2. И вы, вероятно, хотите <2 или >2 вместо того, чтобы иметь = в обоих ...

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