使用每个小于一的值将两个数据帧合并为一个,并应用于数据帧列表

Combine two data frames into one using values from each that are less than one, and apply to a list of data frames

我有如下所示的数据框列表:

0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.05    0.156862745 0.018518519 0.026315789 0.071428571
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.032786885 0.017241379 0.08    0.114285714 0.022727273
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018867925 0.025641026 0.022222222
63  59  54  39  45
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.06779661  0.072727273 0.058823529 0.083333333 0.097560976
0.032786885 0.035087719 0.038461538 0.026315789 0.046511628
0.016129032 0.035087719 0.038461538 0.083333333 0.071428571
0.016129032 0.017241379 0.018867925 0.054054054 0.022727273
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222

但对于列表中的每个数据框,我都有第二个数据框列表,它们对应于同一数据源,但计算方式不同,如下所示:

63.00   59.00   54.00   39.00   45.00
20.00   6.38    54.00   38.00   14.00
63.00   59.00   54.00   39.00   45.00
63.00   59.00   54.00   39.00   45.00
30.50   58.00   12.50   8.75    44.00
63.00   59.00   54.00   39.00   45.00
63.00   59.00   53.00   39.00   45.00
0.02    0.02    0.02    0.03    0.02
63.00   59.00   54.00   39.00   45.00
63.00   59.00   54.00   39.00   45.00
14.75   13.75   17.00   12.00   10.25
30.50   28.50   26.00   38.00   21.50
62.00   28.50   26.00   12.00   14.00
62.00   58.00   53.00   18.50   44.00
63.00   59.00   54.00   39.00   45.00

我想合并第一个列表中的第一个数据框和第二个列表中的第一个数据框等等,但使用每个数据框中小于 1 的值。所以输出看起来像这样:

0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.05    0.156862745 0.018518519 0.026315789 0.071428571
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.032786885 0.017241379 0.08    0.114285714 0.022727273
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018867925 0.025641026 0.022222222
0.02    0.02    0.02    0.03    0.02
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222
0.06779661  0.072727273 0.058823529 0.083333333 0.097560976
0.032786885 0.035087719 0.038461538 0.026315789 0.046511628
0.016129032 0.035087719 0.038461538 0.083333333 0.071428571
0.016129032 0.017241379 0.018867925 0.054054054 0.022727273
0.015873016 0.016949153 0.018518519 0.025641026 0.022222222

我一直试图在 R 中做到这一点,但没有成功。我能够用其他编程语言实现代码,但解决方案需要包括加载数据帧列表。感谢您的帮助!

您可以使用pmin到select两个数据帧之间的最小值。如果您的第一个数据帧列表称为 df1_list,第二个数据帧列表称为 df2_list,您可以这样做:

result <- Map(pmin, df1_list, df2_list)