我遇到了以下问题:
我想重新组织我的桌子:
df <- data.frame(A=c(1,0,1), B=c(1,0,1), C=c(0,1,1))
A B C
x 1 1 0
y 0 0 1
z 1 1 1
进入框架:
AB AC BC
x 1 0 0
y 0 0 0
z 1 1 1
使用每列的连接。
我可以通过使用两个函数来实现它,但它实际上耗费大量数据&#34;我正在寻找一种优化功能。我发现apply
在这种情况下很有用,但我不知道在这种情况下如何使用它。
有人能给我一个提示,如何解决上述问题?
答案 0 :(得分:1)
这将使用lapply和dplyr的组合。 它列出了列的乘积,然后将其绑定到单个数据帧中。
library(dplyr)
lapply(1:(ncol(df)-1), function(n){
out <- df[,n] * df
names(out) <- paste0(names(df)[n] ,names(df))
out %>% select(c((n+1):ncol(df)))
}) %>% bind_cols()