如何从此表创建列表:
t1 <- structure(c(1L, 2L, 3L), .Dim = 3L, .Dimnames = structure(list(c("a", "b", "c")), .Names = ""), class = "table")
所以要为表的每个“名称”获取一个列表,每个列表将是相应“名称”的长度?预期的产出将是:
> result
$a
[1] NA
$b
[1] NA NA
$c
[1] NA NA NA
我原以为一个lapply调用可以解决这个问题:
lapply(t1,function(x) list(names(x)=NA,length(x)))
但它显然不起作用。有什么想法吗?
答案 0 :(得分:2)
t1
##
## a b c
## 1 2 3
lapply(t1, function(x) rep(NA, x))
## $a
## [1] NA
##
## $b
## [1] NA NA
##
## $c
## [1] NA NA NA
##
答案 1 :(得分:1)
您可以这样做:
R> lapply(as.list(t1), function(v) {return(rep(NA,v))})
$a
[1] NA
$b
[1] NA NA
$c
[1] NA NA NA