1

将元素列表转换为列表列表的有效方法是什么,每个列表中只有一个元素。请参阅下面的示例数据:

#This vector (but with many more elements) I'd like to turn into a list of list with one element in each. 
vector <- c("element1", "element2", "element3")

# It should look like this: 
list_vector <- list("element1", "element2", "element3")

#This is old: and not really how I want it: 
 
 list_vector <- list(list("element1"), list("element1"), list("element1"))

提前致谢

4

2 回答 2

2

你可以使用

lapply(vector,list)

编辑:对于新的所需输出

sapply(vector,list)
于 2020-06-24T11:20:00.973 回答
1

由于您的list_vector是一个未命名 list的,您可以使用as.listlapply或者sapply向量的每个元素转换为一个列表,每个元素中只有一个元素。使用as.list将是更有效的方式

x <- as.list(vector)
y <- lapply(vector, identity)
z <- unname(sapply(vector,list))

测试平等:

identical(x, list_vector)
[1] TRUE
identical(y, list_vector)
[1] TRUE
identical(z, list_vector)
[1] TRUE
于 2020-06-24T12:21:07.660 回答