我们说我有一个字符值向量。是否有可能创建多个空的data.frames,其名称取自向量(例如在循环遍历该向量时),并在代码中稍后通过其名称引用那些data.frames,从字符向量中获取这些名称?
names <- c ("data.a","data.z","data.g")
我想循环遍历名称向量并创建空的data.frames data.a data.z data.g等,以后能够通过循环遍历名称来为它们赋值。
答案 0 :(得分:3)
一种方法是使用sapply
创建列表:
nms <- c ("data.a", "data.z", "data.g")
lst <- sapply(nms, function(x) x=data.frame() )
str(lst)
List of 3
$ data.a:'data.frame': 0 obs. of 0 variables
$ data.z:'data.frame': 0 obs. of 0 variables
$ data.g:'data.frame': 0 obs. of 0 variables
并通过以下方式引用它们:
> lst[[1]]
data frame with 0 columns and 0 rows
> lst$data.a
data frame with 0 columns and 0 rows
答案 1 :(得分:2)
你可以尝试
nms <- c("data.a","data.z","data.g")
lst <- setNames(replicate(3, data.frame()), nms)