【发布时间】:2023-01-12 04:02:03
【问题描述】:
我正在尝试合并来自两个相应列表的信息,这两个列表都是 4 个。第一个列表仅包含 4 个项目中的每一个的 1 个元素,并且具有以下结构:
List of 4
$ :'data.frame': 8640 obs. of 3 variables:
..$ x : num [1:8640] -108 -108 -108 -107 -107 ...
..$ y : num [1:8640] 25.9 25.9 25.9 25.9 25.9 ...
..$ layer: num [1:8640] 0 0 0 0 0 0 0 0 0 0 ...
$ :'data.frame': 20520 obs. of 3 variables:
..$ x : num [1:20520] -116 -116 -116 -115 -115 ...
..$ y : num [1:20520] 32.9 32.9 32.9 32.9 32.9 ...
..$ layer: num [1:20520] 0.002 0 0 0 0 ...
$ :'data.frame': 13500 obs. of 3 variables:
..$ x : num [1:13500] -112 -112 -112 -111 -111 ...
..$ y : num [1:13500] 29.9 29.9 29.9 29.9 29.9 ...
..$ layer: num [1:13500] 0.00583 0.01166 0.01749 0.01749 0.01749 ...
$ :'data.frame': 15300 obs. of 3 variables:
..$ x : num [1:15300] -117 -117 -117 -116 -116 ...
..$ y : num [1:15300] 31.9 31.9 31.9 31.9 31.9 ...
..$ layer: num [1:15300] 0 0 0 0 0 0 0 0 0 0 ...
我有另一个也是 4 的列表,我想将该列表中的数据作为 2 个单独的列添加到第一个列表中相应元素的数据框中。
第二个列表的结构如下:
List of 4
$ : chr [1:2] "green" "0.00689301"
$ : chr [1:2] "blue" "0.01291301"
$ : chr [1:2] "red" "0.02905452"
$ : chr [1:2] "black" "0.00879968"
基本上,我想要一个新列表,该列表的 4 个成员中的每一个都具有以下结构:
List of 4
$ :'data.frame': 8640 obs. of 3 variables:
..$ x : num [1:8640] -108 -108 -108 -107 -107 ...
..$ y : num [1:8640] 25.9 25.9 25.9 25.9 25.9 ...
..$ layer: num [1:8640] 0 0 0 0 0 0 0 0 0 0 ...
..$ color: chr [1:8640] "green" "green" "green"...
..$ value: chr [1:8640] "0.00689301" "0.00689301" ...
$ :'data.frame': 20520 obs. of 3 variables:
..$ x : num [1:20520] -116 -116 -116 -115 -115 ...
..$ y : num [1:20520] 32.9 32.9 32.9 32.9 32.9 ...
..$ layer: num [1:20520] 0.002 0 0 0 0 ...
..$ color: chr [1:20520] "blue" "blue" "blue" ...
..$ value: chr [1:20520] "0.01291301" "0.01291301" ...
我曾尝试使用 mapply() 和 c() 一次组合这些信息,但这并没有给我灵活性,将我的第二个列表中的这些新成员从单独的值更改为与相应的新列表长度相同的向量.
【问题讨论】: