我有这样的代码:
#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
我希望这样就可以了。
万事如意!
发布于 2020-05-29 16:12:37
FB_Int$Score_FB_Int完全是NAs。我认为你需要的是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"),因为您在FB_Int$p_FB_Int.r中有一些NAs。这对我来说很有效。
> cor(FB_Int$Score_FB_Int,FB_Int$p_FB_Int.r, use = "pairwise.complete.obs")
[1] 0.379014https://stackoverflow.com/questions/62081144
复制相似问题