Использование матрицы logi c для выбора значений из другой матрицы (R) - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть два кадра данных с одинаковыми размерами (18 000 строк, 42 столбца), называемые cor и pval. cor содержит значения корреляции, pval содержит значение pvalue, связанное со значением корреляции в той же позиции.

Я пытался создать новый df, содержащий только значения cor с pvalue ниже определенного порога (0,05). Значение cor, связанное с pvalues ​​выше этого порога, должно быть возвращено как «NA».

мой список попыток:

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

Я рассматриваю создание векторов logi c по столбцам и прохождение через датафрейм, но это кажется очень неуклюжим. Любые предложения о том, как сделать это правильно?

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Поскольку cor и pval имеют одинаковое измерение, мы можем сделать:

cor[pval > 0.05] <- NA

, чтобы превратить cor значения в NA, где pval больше 0,05.

0 голосов
/ 05 апреля 2020

Другой вариант - replace

replace(cor, pval > 0.05, NA)
...