【发布时间】:2020-03-07 20:01:37
【问题描述】:
我有两个数据框列表,因此数据是 47 个数据框的列表,其中每个数据框都有列 [coords, x, y, liklihood, x.1, x.2, liklihood.1 等.] 和 dataA 是 47 个数据帧的列表,每个数据帧的长度与 data 中的相同,但表示不同坐标的列 [coords, x, y] 较少。
我想创建第三个列表,或向其中一个列表中的每个数据框添加一列,其中将包含从 pointDistance(p1, p2) 计算的距离,其中 p1 是每个数据框的 x 和 y 列在 list data 中,p2 是 list dataA 中每个数据框的 x 和 y 列。
我试图将数据框保存在列表中,而不是在我的全局环境中拥有 47*2 个单独的数据框。
最小可重现示例:
coords <- rnorm(10)
x <- rnorm(10)
y <- rnorm(10)
liklihood <- rnorm(10)
x.1 <- rnorm(10)
y.1 <- rnorm(10)
day1 <- data.frame(coords,x,y,liklihood,x.1,y.1)
coords <- rnorm(10)
x <- rnorm(10)
y <- rnorm(10)
liklihood <- rnorm(10)
x.1 <- rnorm(10)
y.1 <- rnorm(10)
day2 <- data.frame(coords,x,y,liklihood,x.1,y.1)
data <- list(day1,day2)
coords <- rnorm(10)
x <- rnorm(10)
y <- rnorm(10)
liklihood <- rnorm(10)
day1 <- data.frame(coords,x,y,liklihood)
coords <- rnorm(10)
x <- rnorm(10)
y <- rnorm(10)
liklihood <- rnorm(10)
day2 <- data.frame(coords,x,y,liklihood)
dataA <- list(day1,day2)
【问题讨论】:
-
你能加一个minimale reproducible example吗? MRE 将使其他人更容易找到和测试您的问题的答案。这样你就可以帮助别人帮助你!
-
到目前为止您尝试过什么?你的距离计算函数是什么?
-
我不知道如何跨列表进行计算,甚至真正尝试任何事情...我正在使用 pointDistance 函数:rdocumentation.org/packages/raster/versions/3.0-12/topics/…
-
您可以为此使用循环。对于 data 中的每个条目,您计算到每个条目 ind dataA 的距离。循环中的循环;)如果您不确定如何操作,我强烈建议您查看许多 R 教程中的一些。
-
也许我误读了你的问题,你想要别的东西。我不确定我理解你的意思: pointDistance(p1, p2) 其中 p1 是 x 和 y 列 each list data中的数据框,p2是list dataA中each数据框的x和y列。跨度>
标签: r list dataframe lapply calculation