2015-10-10 2 views
0

Im работая в моем новом наборе данных, и я всегда начинаю его сБудет ли использоваться только факторизация?

options(StringsAsFactors = FALSE) 

Проблема им с в настоящее время является то, что R будет только построить данные я установить, если строки в качестве опции факторов устанавливается в TRUE.

Всякий раз, когда я пытаюсь построить с Stringsasfactors = FALSE, это даст мне следующее сообщение об ошибке.

plot(Data$Jobs, Data$RXH) 
Error in plot.window(...) : need finite 'xlim' values 
In addition: Warning messages: 
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion 
2: In min(x) : no non-missing arguments to min; returning Inf 
3: In max(x) : no non-missing arguments to max; returning -Inf 

Но когда я установил Stringsasfactors ИСТИНА это участки без проблем ...

Это сценарий.

#Setting WD. 

getwd() 
setwd("C:/Windows/System32/config/systemprofile/Documents/R proj") 


options(stringsAsFactors = F) 
get <- read.csv("WorkExcelR.csv", header = TRUE, sep = ",") 
Data <- na.omit(get) 

И это данные $ Работа и данные $ RXH

> Data$Jobs 
[1] "Playstation" "RWC Heineken" "Jagermeister" "RWC Heineken" 
[5] "RWC Heineken" "RWC Heineken" 
> Data$RXH 
[1] 90 90 100 90 90 90 
+3

'plot (factor (Data $ Jobs), Data $ RXH)' – Roland

ответ

1

Проблема вы иллюстрирующая проистекает из того факта, что существует plot.factor функции, но не plot.character функции. Вы можете увидеть доступные plot.-методу, набрав:

methods(plot) 

Это не особенно хорошо описано в справочной странице для ?plot, но есть отдельная страница помощи ?plot.factor. Функции в R отправляются на основе их аргументов: S3-функции на основе только класса их первого аргумента и S4-методов на основе их сигнатур-сигнатур. В некотором смысле функция plot.factor подробно излагает эту стратегию, поскольку затем отправляет ее в разные схемы построения на основе класса второго аргумента, считая, что она сопоставлена ​​положением или называется y.

У вас есть несколько вариантов: Настроить метод построения графика, который затем необходимо выполнить с помощью функции infix :::, поскольку plot.factor не экспортируется или не выполняет принуждение самостоятельно или не вызывает более специфичный тип построения.

graphics:::plot.factor(Data$Jobs, Dat 
plot(factor(Data$Jobs), Data$RXH) 
boxplot(Data$RXH ~Data$Jobs) # which is the result if x is factor and y is numeric 
+0

Спасибо большое! Это помогло мне! !! –

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