Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R拆分数据集,使列中的值之和在子集中大致相同?_R - Fatal编程技术网

如何使用R拆分数据集,使列中的值之和在子集中大致相同?

如何使用R拆分数据集,使列中的值之和在子集中大致相同?,r,R,我在R中有一个数据集,如下所示: x <- structure(list(value = c(7.496, 11.073, 11.329, 9.282, 8.748, 12.515, 7.46, 9.189, 9.62, 5.815, 5.945, 7.778, 10.077, 15.311, 8.591, 6.048, 7.568, 6.14, 6.591, 5.376,

我在R中有一个数据集,如下所示:

x <- structure(list(value = c(7.496, 11.073, 11.329, 9.282, 8.748, 12.515, 7.46, 9.189, 9.62, 5.815, 5.945, 
                                                        7.778, 10.077, 15.311, 8.591, 6.048, 7.568, 6.14, 6.591, 5.376, 
                                                        8.038, 7.496, 7.983, 6.591, 6.591, 7.44, 6.453, 11.589, 5.751, 
                                                        8.464, 7.577, 6.014, 12.733, 7.108, 14.857, 15.503, 12.468, 13.39, 
                                                        10.796, 10.923, 7.215, 13.72, 7.574, 11.77, 10.409, 7.591, 6.174, 
                                                        6.748, 10.091, 9.8, 6.527, 9.251, 6.622, 13.742, 4.454, 8.331, 
                                                        7.702, 7.197, 9.629, 9.76, 3.663, 19.55, 8.107, 9.637, 10.146, 
                                                        9.564, 6.947, 14.45, 10.266, 5.457, 10.629, 6.275, 2.48, 4.513, 
                                                        6.755, 2.885, 5.773, 2.855, 2.429, 2.955, 2.486, 3.239, 4.29, 
                                                        3.043, 3.501, 3.276, 4.018, 2.727, 5.199, 2.371, 3.732, 2.533, 
                                                        4.482, 3.215, 7.782, 3.435, 4.201, 3.074, 3.475, 2.923, 3.025, 
                                                        4.308, 3.932, 2.923, 3.491, 2.852, 3.916), id = 1:107), row.names = c(NA, 
                                                                                                                              -107L), class = "data.frame")

x只需使用
cumsum
即可获得“value”列的累积和。将结果与所需拆分值(
sum(x$value)/2
)进行逻辑比较,以拆分数据集

split(x, cumsum(x$value) <= sum(x$value)/2)

split(x,cumsum(x$value)
split(x,cumsum(x$value))非常好用,非常感谢!@a5c1d2h2i1m1n2o1r2t1没问题。我已经发布了我的评论作为答案。