我有一个3列的dataframe(实际上大约2000行)。我想返回列A的值,它在列B中具有最高的最大总得分,在列C中具有最大值的限制。例如:
colName col1 col2
John 7 50
Jim 3 25
James 2 25
Peter 9 110
Robert 1 75
Hank 1 75
假设col 2的最大total/sum值为100。col 1中组合值的最高组合将是7+3+2=12。我想返回将返回的姓名列表:约翰,吉姆,詹姆斯
Q1:我该怎么做?
Q2:或者,返回dataframe中具有最高可能组合的值的dataframe的整个行会很有趣:
colName col1 col2
John 7 50
Jim 3 25
James 2 25
1条答案
按热度按时间jdgnovmf1#
你所指的是一个 *0/1背包问题 *。
adagio
包在R中实现了一个背包求解器。