r - 数据框中跨列的最大组合总和

标签 r function dataframe combinations

我有数据框

df <- data.frame(e_1=c(1,2,3,4,5), e_2=c(1,3,5,7,9), e_3=c(2,4,6,8,1),
                e_4=c(1,2,4,5,7), e_5=c(1,8,9,6,4), Lanes=c(3,4,3,5,4))

我尝试使用:

max(combn(df[,(1:5)],df$Lanes,FUN = function(i) rowSums(df[,(1:5)][i])))

我收到错误

Error in combn(df[, (1:5)], df$Lanes, FUN = function(i) rowSums(df[, (1:5)][i])) : length(m) == 1L is not TRUE

最佳答案

我想你可以尝试按行使用combn,例如,

df$comb <- apply(df,1,function(v) max(combn(v[1:5],v["Lanes"],sum)))

这样

> df
  e_1 e_2 e_3 e_4 e_5 Lanes comb
1   1   1   2   1   1     3    4
2   2   3   4   2   8     4   17
3   3   5   6   4   9     3   20
4   4   7   8   5   6     5   30
5   5   9   1   7   4     4   25

关于r - 数据框中跨列的最大组合总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64106735/

相关文章:

r - 避免通过几何设置边距

python - 将融化的数据 reshape 为 pandas 中的宽表,其中 True/False 作为变量具有值的值

c# - 是否可以只从另一个函数中调用一个函数?

javascript - 使用 JS 对象和函数

python - Python –没有错误但也没有返回数据

python - 如何根据 Pandas 中的另一列数组对一列数组进行排序?

重新排列 R 中的数据框列(mutate、dplyr)

r - 如何在geom_jitter中为比例尺设置不同的填充颜色?

r - R中mlogit的边际效应

r - 如何找到 TRUE 值之间的 FALSE 值的索引?