创建复杂的空列表或数据框

时间:2015-08-19 20:35:37

标签: r variables empty-list

我有一个列表变量。

[[1]]

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

 [1,]    1    1    1    1    1    1    1    4

 [2,]    1    1    1    1    1    1    1    4

 [3,]    1    1    1    1    1    1    1    4

 [4,]    1    1    1    1    1    1    1    4

 [5,]    1    1    1    1    1    1    1    4

 [6,]    1    1    1    1    1    1    1    4

 [7,]    1    1    1    1    1    1    1    4

 [8,]    1    1    1    1    1    1    1    4

 [9,]    1    1    1    1    1    1    1    4

[10,]    1    1    1    1    1    1    1    4

[11,]    1    1    1    1    1    1    1    4



[[2]]

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

 [1,]    1    1    1    1    1    1    1    3

 [2,]    1    1    1    1    1    1    1    4

 [3,]    1    1    1    1    1    1    1    4

 [4,]    1    1    1    1    1    1    1    3

 [5,]    1    1    1    1    1    1    1    4

 [6,]    1    1    1    1    1    1    1    4

 [7,]    1    1    1    1    1    1    1    4

 [8,]    1    1    1    1    1    1    1    4

 [9,]    1    1    1    1    1    1    1    4

[10,]    1    1    1    1    1    1    1    4

[11,]    1    1    1    1    1    1    1    4

我需要一个与此变量格式相同的空变量。 我的函数将进行一些计算,并将放在与此变量相同的位置。但是在新变量中我不会有第8列。

1 个答案:

答案 0 :(得分:0)

复制您的数据

df = list(matrix(rep(1, 88), ncol = 8), matrix(rep(1, 88), ncol = 8))

从所有子列表中删除第8列

new_df = lapply(df, function(x) x[,-8])

从所有子列表中删除第8列,并将所有1替换为NA

new_df = lapply(df, function(x) replace(x[,-8], x[,-8] == 1, NA))