use*_*672 3 r rows subset correlation dplyr
set.seed(8)
df <- data.frame(
A=sample(c(1:3), 10, replace=T),
B=sample(c(1:3), 10, replace=T),
C=sample(c(1:3), 10, replace=T),
D=sample(c(1:3), 10, replace=T),
E=sample(c(1:3), 10, replace=T),
F=sample(c(1:3), 10, replace=T))
Run Code Online (Sandbox Code Playgroud)
想要将列的子集传递给dplyr mutate()并进行逐行计算,例如cor()在列AC和DF之间获得相关性,但无法弄清楚如何.在这里,这里和这里找到了SO的灵感,但却未能产生可接受的代码.例如,我试过这个:
require(plyr)
require(dplyr)
df %>%
rowwise() %>%
mutate(c=cor(.[[1:3]],.[[4:6]]))
Run Code Online (Sandbox Code Playgroud)
你可以试试
df %>%
rowwise() %>%
do(data.frame(., Cor=cor(unlist(.[1:3]), unlist(.[4:6]))))
Run Code Online (Sandbox Code Playgroud)