gpt4 book ai didi

包含列表的数据框中的 R 元素计算

转载 作者:行者123 更新时间:2023-12-05 01:50:49 25 4
gpt4 key购买 nike

我有以下数据框 df:

           adj_coords
1 2, 3, 4, 5, 6, 7
2 1, 3, 7, 8, 9, 10
3 1, 2, 4, 10, 11, 12
4 1, 3, 5, 12, 13, 14
5 1, 4, 6, 14, 15, 16
6 1, 5, 7, 16, 17, 18
adj_coords_material_amounts
1 0.0000, 0.0000, 0.0000, 0.0000, 632.6667, 264.3333
2 263.0000, 0.0000, 264.3333, 262.6667, 0.0000, 238.6667
3 263.0000, 0.0000, 0.0000, 238.6667, 0.0000, 298.3333
4 263.0000, 0.0000, 0.0000, 298.3333, 300.6667, 279.3333
5 263.0000, 0.0000, 632.6667, 279.3333, 0.0000, 273.3333
6 263.0000, 0.0000, 264.3333, 273.3333, 0.0000, 0.0000


df<-structure(list(adj_coords = list(2:7, c(1L, 3L, 7L, 8L, 9L, 10L
), c(1L, 2L, 4L, 10L, 11L, 12L), c(1L, 3L, 5L, 12L, 13L, 14L),
c(1L, 4L, 6L, 14L, 15L, 16L), c(1L, 5L, 7L, 16L, 17L, 18L
)), adj_coords_material_amounts = list(c(0, 0, 0, 0, 632.666666666666,
264.333333333334), c(263, 0, 264.333333333334, 262.666666666667,
0, 238.666666666667), c(263, 0, 0, 238.666666666667, 0, 298.333333333333
), c(263, 0, 0, 298.333333333333, 300.666666666667, 279.333333333334
), c(263, 0, 632.666666666666, 279.333333333334, 0, 273.333333333334
), c(263, 0, 264.333333333334, 273.333333333334, 0, 0))), row.names = c(NA,
6L), class = "data.frame")

我想从 adj_coords 的每一行中采样一个元素,但仅在 adj_coords_material_amounts 中的相应元素 >0 的情况下。

最佳答案

使用 mapplysample 对每组 adj_coordsadj_coords__material_amounts 进行循环并选择一个值 > 0.

##set.seed(1)
mapply(
\(co,ma) sample(co[ma > 0], 1),
df[["adj_coords"]], df[["adj_coords_material_amounts"]]
)
#[1] 6 10 12 1 6 1

关于包含列表的数据框中的 R 元素计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72807898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com