1

如何从此表创建列表:

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(t1,function(x) list(names(x)=NA,length(x)))

但这显然行不通。有任何想法吗 ?

4

2 回答 2

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
## 
于 2013-04-09T14:44:04.020 回答
1

你可以这样做:

R> lapply(as.list(t1), function(v) {return(rep(NA,v))})
$a
[1] NA
$b
[1] NA NA
$c
[1] NA NA NA
于 2013-04-09T14:42:46.893 回答