R 为列表的每个元素创建一个单独的变量
我有一个数据帧列表,它是通过一次读取25.csv文件生成的。我想取消列出数据帧以开始空间分析。也就是说,我希望列表中的每个元素都有单独的数据帧 我尝试了R 为列表的每个元素创建一个单独的变量,r,list,R,List,我有一个数据帧列表,它是通过一次读取25.csv文件生成的。我想取消列出数据帧以开始空间分析。也就是说,我希望列表中的每个元素都有单独的数据帧 我尝试了unlist(),但它没有产生我想要的结果。我还尝试了一种使用lappy()的方法,但它产生了一个错误。以下是我尝试过的: x <- 1:3 y <- 4:6 l <- lapply(1:2, function(x){data.frame(x, y)}) lapply(1:length(l), function(i){pas
unlist()
,但它没有产生我想要的结果。我还尝试了一种使用lappy()
的方法,但它产生了一个错误。以下是我尝试过的:
x <- 1:3
y <- 4:6
l <- lapply(1:2, function(x){data.frame(x, y)})
lapply(1:length(l), function(i){paste('df', i, sep = '') <- data.frame(l[[i]])})
问题似乎出在我的paste()
函数的输出中的某个地方,但是输出中有str()
'chr'。有没有办法让我的方法奏效?有没有更干净的方法来取消我的数据帧列表?一种方法:
list2env(setNames(l,paste0("df",seq_along(l))), envir = parent.frame())
尽管我会在为时已晚之前听从@baptiste的建议,避免这样做。
为什么?因为在两天内,您将发现自己被困在使用
get()
和paste
和混乱循环的陷阱中,试图同时将函数应用于所有数据集。如果您将它们保存在列表中,您可以只执行lappy(l,functionname)
?分配
,如果您觉得必须这样做,或者?附加
。将它们保存在一个列表中通常是一个更好的主意。离题,但为什么分配给“df1”
有效呢?我没料到会这样。@Marius-from?“回答得很好。这些对我来说都是新函数。我想我把它从列表中去掉的动机是我对列表是新的,所以它看起来更容易。但是现在没有时间了,所以我将试着把它作为一个列表来学习一两件事。谢谢。
list2env(setNames(l,paste0("df",seq_along(l))), envir = parent.frame())