Rstudio-操作列表中的数据

时间:2017-07-08 00:14:59

标签: rstudio

对于学校项目,我有一个设置为list.file的数据集。当我访问数据时,请注意:为此我访问列表中的第二个pos,我总共有大约200个位置:

malefiles [2]

[[1]]

version..1

1 n_points:22

2 {

3 328.444 275.496

4 434.921 275.029

5 331.713 401.121

6 427.449 400.187

7 271.936 270.826

8 356.464 254.014

9 388.221 255.882

10 494.698 268.491

11 263.997 274.095

12 301.825 277.831

13 349.459 277.364

14 411.104 278.298

15 459.673 277.831

16 515.246 276.897

17 368.606 340.41

18 355.53 351.151

19 391.957 350.217

20 374.253 395.527

21 374.253 416.925

22 373.276 483.314

23 280.342 404.39

24 499.835 402.522

25}

我一直试图做的是根据列表中所有元素的行来拉出两个数字,但我不知道从哪里开始。我没有R的经验,但我的教授要求在R中使用它。这是一个AI项目。

1 个答案:

答案 0 :(得分:0)

编辑:

好的,你需要列表中每个元素的行3-24。我创建了一个包含4个元素的列表,每个元素包含30行:

set.seed(772017)

lapply(c(1:4), function(x) {
  paste(round(runif(30, min = 200, max = 900)), 
        round(runif(30, min = 200, max = 900)), sep = " ")
}
) -> a.list

我建议你使用apply函数,它们就像R中的循环一样,但通常更快。内部函数sapply提取列表中给定元素的第3-24行并返回一个向量。外部函数lapply提取列表中的每个元素。

lapply(seq_along(a.list), function(x) {
  sapply(c(3:24), function(y){
    a.list[[x]][y]
})
}
)