如何获取使用R从R导出的P值的干净excel数据集
res <- rcorr(as.matrix(df), type = c("pearson"))
我已经使用上面的代码在数据中的所有变量中找到了P值。但是,我有兴趣将这些发现导出到Excel工作表中。我通过使用以下代码完成了此操作:
write.table(P_val, file="df.csv", sep = ",")
此输出是一个excel工作表,但是数据不是“整洁”的,因为所有数据都排成一行,并局限在同一单元格中,并且由于没有意义,因此无法读取数据数据如何关联的设置中的每个变量。
我想要的表是指示所有变量中每个变量的P值。
所以到目前为止,我所做的是(这里我使用R中的简单数据集来显示我的意思):
df <- USArrests
res <- rcorr(as.matrix(df), type = c("pearson"))
P_val <- res$P
write.table(P_val, file="P_val.csv", sep = ",")
我真的不知道如何从这里前进,所以我希望有人可以帮助我:-)
答案 0 :(得分:3)
我会用broom::tidy
和readr::write_csv
来写出来。
library(Hmisc) # for rcorr
library(broom)
library(magrittr) # for pipes %>%
library(readr)
as.matrix(USArrests) %>%
rcorr(type = "pearson") %>%
tidy() %>%
write_csv("P_val.csv")
结果(在write_csv
之前):
# A tibble: 6 x 5
column1 column2 estimate n p.value
<chr> <chr> <dbl> <int> <dbl>
1 Murder Assault 0.802 50 2.60e-12
2 Murder UrbanPop 0.0696 50 6.31e- 1
3 Assault UrbanPop 0.259 50 6.95e- 2
4 Murder Rape 0.564 50 2.03e- 5
5 Assault Rape 0.665 50 1.36e- 7
6 UrbanPop Rape 0.411 50 3.00e- 3