R中数据帧列的组合

R中数据帧列的组合,r,dataframe,combinations,R,Dataframe,Combinations,我有一个如下所示的数据框: df <- Date P1 P2 P3 P4 1/31 5 3 4 5 2/28 2 3 7 8 3/31 5 6 7 8 我试图使用combn()函数来实现这一点。我可以通过这样做来完成组合 combn(names(df),2,simplify=FALSE) 但这既没有给出结果中的日期,也没有给出结果中的值。我该如何完成这项任务?试试这个 ind <- which(names(df)=="Date") # find

我有一个如下所示的数据框:

df <-
Date  P1 P2 P3 P4
1/31  5  3  4  5 
2/28  2  3  7  8 
3/31  5  6  7  8 
我试图使用combn()函数来实现这一点。我可以通过这样做来完成组合

combn(names(df),2,simplify=FALSE) 
但这既没有给出结果中的日期,也没有给出结果中的值。我该如何完成这项任务?

试试这个

ind <- which(names(df)=="Date") # find the index of Date column
combn(ncol(df)-1, 2, function(a) cbind(df[ind], df[-ind][a]), simplify = F)

ind使用lappy您可以

split_vec = combn(names(df)[-1], 2)

lapply(1:ncol(split_vec), function(x) select(df, "Date", split_vec[, x]))
split_vec = combn(names(df)[-1], 2)

lapply(1:ncol(split_vec), function(x) select(df, "Date", split_vec[, x]))