R drop和使用laply的嵌套列表中的元素

时间:2017-03-28 05:40:40

标签: r lapply nested-lists

我有嵌套列表,列表中的元素是字符串。所以结构是......

> lapply(DVHlimits, function(x) laply (x, function(x) laply(x, function(x) length(x))))
[[1]]
      1 2 3 4 5 6 7 8
 [1,] 1 1 1 1 1 1 1 1
 [2,] 1 1 1 1 1 1 1 1
 [3,] 1 1 1 1 1 1 1 1
 [4,] 1 1 1 1 1 1 1 1
 [5,] 1 1 1 1 1 1 1 1

 [[2]]
      1 2 3 4 5 6 7
 [1,] 1 1 1 1 1 1 1
 [2,] 1 1 1 1 1 1 1
 [3,] 1 1 1 1 1 1 1
 [4,] 1 1 1 1 1 1 1

[[3]]
     1 2 3 4 5 6 7
[1,] 1 1 1 1 1 1 1
[2,] 1 1 1 1 1 1 1
等等......

我想要做的是从每个子列表中删除第8个元素(其中有第8个元素)任何人都可以告诉我如何删除它们吗?

谢谢

1 个答案:

答案 0 :(得分:0)

感谢您的建议,这是我提出的解决方案。

# Create a function which can be used with lapply 
cleanColls <- function(x) {
  x <- x[c(-1, -8)]
}

DVHlimits <- lapply(DVHlimits, function(x) lapply( x, function(x) cleanColls(x)))

你可能已经知道我已经删除了每个子列表的第一个元素。最终结果是每个子列表现在只有6个元素,它们现在都是我想要实现的相同长度。