मेरे पास समान आयामों के साथ दो डेटाफ़्रेम हैं (18.000 पंक्तियाँ, 42 कॉल्स) जिन्हें कोर और पवल कहा जाता है। cor में सहसंबंध मान होते हैं, pval में समान स्थिति में सहसंबंध मान से संबद्ध pvalue होता है।

मैं एक निश्चित थ्रेशोल्ड (0.05) के नीचे एक pvalue के साथ केवल कोर मान युक्त एक नया df बनाने का प्रयास कर रहा हूं। इस सीमा से ऊपर के pvalues ​​​​से जुड़े cor को "NA" के रूप में वापस किया जाना चाहिए।

मेरी कोशिश अब तक:

sign<-cor[pval<0.05]
sign<-cor%>%which(cor<0.05)

मैं डेटाफ्रेम के माध्यम से कॉलम और लूपिंग द्वारा तर्क वैक्टर बनाने पर विचार कर रहा हूं, लेकिन यह बहुत ही भद्दा लगता है। इसे ठीक से कैसे करें इस पर कोई सुझाव?

0
ktm 5 अप्रैल 2020, 13:51

2 जवाब

सबसे बढ़िया उत्तर

चूँकि cor और pval के आयाम समान हैं, इसलिए हम यह कर सकते हैं:

cor[pval > 0.05] <- NA

cor मानों को NA में बदलने के लिए जहां pval 0.05 से अधिक है।

1
Ronak Shah 5 अप्रैल 2020, 13:57
जितना मैंने सोचा था उससे कहीं ज्यादा आसान है। धन्यवाद!
 – 
ktm
5 अप्रैल 2020, 14:40

दूसरा विकल्प है replace

replace(cor, pval > 0.05, NA)
0
akrun 5 अप्रैल 2020, 20:58