Корреляция не работает - PullRequest
0 голосов
/ 29 мая 2020

У меня есть этот код:

#Datenblaetter einlesen und benennen
Faking <- read.csv2("Z:/Forschungsprojekte DiffDia/(2011-2016) Interpersonal Abilities/(2013-2015) Deception/Faking Ability/Study 6 - Faking Good and Faking Bad (Students)/3 - Data and Analysis/output/personality_faking_final.csv")
FB_Int <- cbind(Faking$vpcode,Faking[,names(Faking)[grepl("FBI_",names(Faking))]])

#Werte anpassen, um gleiche Skalenrange zu erhalten
FB_Int$FBI_01_S <- (FB_Int$FBI_01_S + 2)/3
FB_Int$FBI_02_S <- (FB_Int$FBI_02_S + 2)/3
FB_Int$FBI_03_A <- (FB_Int$FBI_03_A + 2)/3
FB_Int$FBI_04_E <- (FB_Int$FBI_04_E + 2)/3
FB_Int$FBI_05_R <- (FB_Int$FBI_05_R + 2)/3
FB_Int$FBI_06_I <- (FB_Int$FBI_06_I + 2)/3
FB_Int$FBI_07_C <- (FB_Int$FBI_07_C + 2)/3
FB_Int$FBI_08_R <- (FB_Int$FBI_08_R + 2)/3
FB_Int$FBI_09_I <- (FB_Int$FBI_09_I + 2)/3
FB_Int$FBI_10_R <- (FB_Int$FBI_10_R + 2)/3
FB_Int$FBI_11_A <- (FB_Int$FBI_11_A + 2)/3
FB_Int$FBI_12_S <- (FB_Int$FBI_12_S + 2)/3
FB_Int$FBI_13_C <- (FB_Int$FBI_13_C + 2)/3
FB_Int$FBI_14_C <- (FB_Int$FBI_14_C + 2)/3
FB_Int$FBI_15_R <- (FB_Int$FBI_15_R + 2)/3
FB_Int$FBI_16_E <- (FB_Int$FBI_16_E + 2)/3
FB_Int$FBI_17_I <- (FB_Int$FBI_17_I + 2)/3
FB_Int$FBI_18_A <- (FB_Int$FBI_18_A + 2)/3
FB_Int$FBI_19_I <- (FB_Int$FBI_19_I + 2)/3
FB_Int$FBI_20_E <- (FB_Int$FBI_20_E + 2)/3
FB_Int$FBI_21_C <- (FB_Int$FBI_21_C + 2)/3
FB_Int$FBI_22_S <- (FB_Int$FBI_22_S + 2)/3
FB_Int$FBI_23_A <- (FB_Int$FBI_23_A + 2)/3
FB_Int$FBI_24_I <- (FB_Int$FBI_24_I + 2)/3
FB_Int$FBI_25_R <- (FB_Int$FBI_25_R + 2)/3
FB_Int$FBI_26_A <- (FB_Int$FBI_26_A + 2)/3
FB_Int$FBI_27_S <- (FB_Int$FBI_27_S + 2)/3
FB_Int$FBI_28_E <- (FB_Int$FBI_28_E + 2)/3
FB_Int$FBI_29_E <- (FB_Int$FBI_29_E + 2)/3
FB_Int$FBI_30_C <- (FB_Int$FBI_30_C + 2)/3


#Mittelwerte der einzelnen RIASEC-Bereiche berechnen
FB_Int$m_FB_Int_R <- rowMeans(FB_Int[,names(FB_Int)[grepl("_R",names(FB_Int))]])
FB_Int$m_FB_Int_I <- rowMeans(FB_Int[,names(FB_Int)[grepl("_I",names(FB_Int))]])
FB_Int$m_FB_Int_A <- rowMeans(FB_Int[,names(FB_Int)[grepl("_A",names(FB_Int))]])
FB_Int$m_FB_Int_S <- rowMeans(FB_Int[,names(FB_Int)[grepl("_S",names(FB_Int))]])
FB_Int$m_FB_Int_E <- rowMeans(FB_Int[,names(FB_Int)[grepl("_E",names(FB_Int))]])
FB_Int$m_FB_Int_C <- rowMeans(FB_Int[,names(FB_Int)[grepl("_C",names(FB_Int))]])

#####################################
############SCORING##################
#####################################

#1. Scoring über Entfernung vom Ideal-Profil nach einzelnen Bereichen
FB_Int$E_Einzeln_R <- abs(FB_Int$m_FB_Int_R - 2.67)
FB_Int$E_Einzeln_I <- abs(FB_Int$m_FB_Int_I - 1)
FB_Int$E_Einzeln_A <- abs(FB_Int$m_FB_Int_A - 1.33)
FB_Int$E_Einzeln_S <- abs(FB_Int$m_FB_Int_S - 2.67)
FB_Int$E_Einzeln_E <- abs(FB_Int$m_FB_Int_E - 4.33)
FB_Int$E_Einzeln_C <- abs(FB_Int$m_FB_Int_C - 6.67)

FB_Int$Score_FB_Int <- rowMeans(FB_Int[,names(FB_Int)[grepl("E_",names(FB_Int))]])


#3. Korrelation zwischen Profilen
FB_Int$p_FB_Int.r <- apply(FB_Int[,names(FB_Int)[grepl("m_",names(FB_Int))]],1,function(x) cor(x, c(2.67,1,1.33,2.67,4.33,6.67)))

##Korrelation zwischen Score_FB_Int und p_FB_Int.r
###############
cor(FB_Int$Score_FB_Int,FB_Int$p_FB_Int.r) 

Моя проблема в том, что функция cor в конце не работает. Результат - «Na». В наборе данных есть одна строка с Na, возможно, это причина?

Я был бы очень рад, если бы мне кто-нибудь помог.

Я создал ссылку со своими данными: https://wetransfer.com/downloads/d2f34918ec228bee87459d261227cba720200529074627/cc130a

Надеюсь, что все в порядке.

Всего наилучшего!

1 Ответ

1 голос
/ 29 мая 2020

FB_Int$Score_FB_Int - это все НП. Я думаю, вам нужен FB_Int$Score_FB_Int <- rowMeans(FB_Int[,names(FB_Int)[grepl("_E",names(FB_Int))]], na.rm = TRUE), а не FB_Int$Score_FB_Int <- rowMeans(FB_Int[,names(FB_Int)[grepl("E_",names(FB_Int))]], na.rm = TRUE) (поэтому _E, а не E_). И вам также нужно использовать cor, например, cor(FB_Int$Score_FB_Int,FB_Int$p_FB_Int.r, use = "pairwise.complete.obs"), потому что у вас есть NAs в FB_Int$p_FB_Int.r. Тогда у меня это сработало.

> cor(FB_Int$Score_FB_Int,FB_Int$p_FB_Int.r, use = "pairwise.complete.obs") 
[1] 0.379014
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...