r - 从R中的列表列表中提取列
问题描述
R新手在这里。我知道以前有人问过类似的问题,但我就是想不通,所以就来了。我有一个通过将一些数据文件从 Matlab 导入到 R 创建的列表列表。我反复使用 lapply 来获取数据列表列表,并让它看起来像这样(前两个数据列表的提取):
[[1]]
[[1]]$Data
, , 1
[,1]
opsy "1"
st List,11
nr 280
var1 Numeric,280
var2 Numeric,280
var3 Numeric,280
...
[[2]]
[[2]]$Data
, , 1
[,1]
opsy "2"
st List,11
nr 555
var1 Numeric,555
var2 Numeric,555
var3 Numeric,555
...
The str(my_top_list[[1]]$Data) looks as follows:
List of 15
$ : chr [1, 1] "1"
$ : chr [1, 1] "20191202T103203"
$ :List of 11
..$ : chr [1, 1] "Ariel"
..$ : num [1, 1:3] 255 255 255
..$ :List of 4
.. ..$ : num [1, 1] 72
.. ..$ : num [1, 1] 42
.. ..$ : num [1, 1] 30
.. ..$ : num [1, 1] 42
.. ..- attr(*, "dim")= int [1:3] 4 1 1
.. ..- attr(*, "dimnames")=List of 3
.. .. ..$ : chr [1:4] "reference" "fixation" "probabilities" "lotteryValues"
.. .. ..$ : NULL
.. .. ..$ : NULL
..$ :List of 4
.. ..$ : num [1, 1:2] 172 101
.. ..$ : num [1, 1:2] 71 55
.. ..$ : num [1, 1:2] 42 41
.. ..$ :List of 6
.. .. ..$ : num [1, 1:2] 64 64
.. .. ..$ : num [1, 1:2] 92 64
.. .. ..$ : num [1, 1:2] 156 64
.. .. ..$ : num [1, 1:2] 156 64
.. .. ..$ : num [1, 1:2] 156 64
.. .. ..$ : num [1, 1:2] 156 64
.. .. ..- attr(*, "dim")= int [1:3] 6 1 1
.. .. ..- attr(*, "dimnames")=List of 3
.. .. .. ..$ : chr [1:6] "Digit1" "Digit2" "Digit3" "Digit4" ...
.. .. .. ..$ : NULL
.. .. .. ..$ : NULL
.. ..- attr(*, "dim")= int [1:3] 4 1 1
.. ..- attr(*, "dimnames")=List of 3
.. .. ..$ : chr [1:4] "reference" "fixation" "probabilities" "lotteryValues"
.. .. ..$ : NULL
.. .. ..$ : NULL
..$ :List of 2
.. ..$ : chr [1, 1] "$5"
.. ..$ : chr[0 , 1]
.. ..- attr(*, "dim")= int [1:3] 2 1 1
.. ..- attr(*, "dimnames")=List of 3
.. .. ..$ : chr [1:2] "reference" "fixation"
.. .. ..$ : NULL
.. .. ..$ : NULL
..$ :List of 2
.. ..$ : num [1, 1] 150
.. ..$ : num [1, 1] 300
.. ..- attr(*, "dim")= int [1:3] 2 1 1
.. ..- attr(*, "dimnames")=List of 3
.. .. ..$ : chr [1:2] "width" "height"
.. .. ..$ : NULL
.. .. ..$ : NULL
..$ : num [1, 1] 10
..$ : num [1, 1:4] 0 0 1440 900
..$ : num [1, 1] 10
..$ : num [1, 1] 1
..$ : num [1, 1] 1
..- attr(*, "dim")= int [1:3] 11 1 1
..- attr(*, "dimnames")=List of 3
.. ..$ : chr [1:11] "fontName" "fontColor" "fontSize" "textDims" ...
.. ..$ : NULL
.. ..$ : NULL
$ :List of 2
..$ :List of 1
.. ..$ : chr [1, 1] "blue"
..$ :List of 1
.. ..$ : chr [1, 1] "red"
$ : num [1, 1] 280
$ : num [1, 1:280] 99 75 150 270 220 257 8 16 237 279 ...
$ : num [1:280, 1] 22.2 22.2 7.85 26.4 7.85 ...
$ : num [1:280, 1] 1 1 1 2 1 2 1 1 1 2 ...
$ : num [1:280, 1] 0.58 0.58 0.58 0.58 0.58 0.58 0.58 0.58 0.58 0.58 ...
$ : num [1:280, 1] 2 2 2 2 2 2 2 2 2 2 ...
$ : num [1:280, 1] 2 2 1 2 2 2 1 1 2 2 ...
$ : num [1:280, 1] 0 0 0 0 0 0 0 0 0 0 ...
$ : num [1:280, 1] 22.2 11.1 5.55 15.7 5.55 ...
$ : num [1, 1:280] 2 2 1 2 1 2 2 2 2 1 ...
$ : num [1, 1:280] 0.433 0.704 3.036 1.992 0.718 ...
- attr(*, "dim")= int [1:3] 15 1 1
- attr(*, "dimnames")=List of 3
..$ : chr [1:15] "observer" "date" "stimulus" "colorKey" ...
..$ : NULL
..$ : NULL
NULL
我需要从每个对象 [[i]]$Data 中提取一些变量,比如 var1 和 var3,将存储在 opsy 中的值作为 id 分配,然后将其放入看起来像这样的数据框中:
id var1 var3
1 45 0.2
1 77 0.11
1 33 0.45
... .. ...
2 44 0.99
2 21 0.01
... .. ..
任何帮助将非常感激!
最大限度
解决方案
推荐阅读
- react-native - TextInput 行方向全视图
- python - Sklearn:NotFittedError:此 SVC 实例尚未安装。校准分类器的软投票
- autodesk-forge - Autodesk Viewer - 如何反转相机角度?
- c++ - 闪烁图案上的元素
- tomcat - 在 http 和 https 之间拆分上下文
- angular - 具有空值的角度/离子输入更改为 0
- python - 使用列表推导将列表列表写入文件
- python - 在 spyder 中安装 python 包时出现问题
- r - 如何在ggplot2中斜体相关系数注释的一部分
- java - 从另一部 Android 手机控制媒体