Ошибка в cor (x, use = use): укажите «x» и «y» или матричный «x» - PullRequest
0 голосов
/ 29 мая 2018

Я использую пакет psy, следующий код, который я пробовал:

library(psych)
str(price_per_d)
Least_appealing <-subset(zdf_base, select=c("price_per_h", 
"price_per_d", "mileage", "one_way_option", "difficulties", 
"vehicle_types", "parking_spot","picking_up","availability", "dirty", 
"returning","refilling", "loalty_programs"))
# code from stackoverflow which I use, to get a numeric x
Least_appealing <- gsub(",", "", Least_appealing)  
Least_appealing <- as.numeric(Least_appealing)

fa.parallel(Least_appealing)

Я получаю следующие сообщения об ошибках:

 > library(psych)
 > str(price_per_d)
 Factor w/ 1 level "Price (daily rate too high)": 1 NA 1 1 1 NA NA 1 1 
 NA ...
 > Least_appealing <-subset(zdf_base, select=c("price_per_h", 
 +                                             "price_per_d", 
 "mileage", "one_way_option", "difficulties", 
 +                                             "vehicle_types", 
 "parking_spot","picking_up","availability", "dirty", 
 +                                             "returning","refilling", 
 "loalty_programs"))
 > 
 > Least_appealing <- gsub(",", "", Least_appealing)  
 > Least_appealing <- as.numeric(Least_appealing)
 **Warnmeldung:
 NAs durch Umwandlung erzeugt** 
> 
> fa.parallel(Least_appealing)
**Fehler in cor(x, use = use) : supply both 'x' and 'y' or a matrix-like 
'x'**
> 

Как я могу успешно провести анализ фактора?Сначала я получил сообщение об ошибке, мой 'x' должен быть числовым, поэтому я использовал вышеупомянутый код.Когда я использовал этот код, R сказал мне, что я получил NA через преобразование.Я все еще продолжал и пытался fa.parallel, который дает мне еще одно сообщение об ошибке.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 23 сентября 2018

Я не знаю, решили ли вы эту проблему еще, но если у вас есть символьные данные, смешанные с числовыми данными (например, ваша кодировка категориальна, и вам нужно преобразовать ее в числовую, вы можете попробовать использовать функцию char2numeric довыполнение fa.

например, с данными, которые являются сочетанием категориальных и числовых;

describe(data)  #this will flag those variables that are categorical with an asterix
new.data <- char2numeric(data)  #this makes all numeric
fa(new.data, nfactors=3) #to get three factors

Похоже, что у вас есть только одна переменная в вашем объекте "less.appealing".

...