所以假设我有一个带有一堆.rdata文件的目录
file_names=as.list(dir(pattern="stock_*"))
[[1]]
[1] "stock_1.rdata"
[[2]]
[1] "stock_2.rdata"
Run Code Online (Sandbox Code Playgroud)
现在,如何通过一次调用加载这些文件?
我总是这样做:
for(i in 1:length(file_names)) load(file_names[[i]])
Run Code Online (Sandbox Code Playgroud)
但为什么我不能这样做do.call(load, file_names)?我想,没有一个适用的功能会工作,因为他们大多会回到名单,但没有要回来,只是这些文件需要被加载.我无法让这个get功能在这种情况下工作.想法?
这是数据分析师一直在做的事情(特别是在处理具有缺失响应的调查数据时).通常首先将一组竞争数据矩阵相乘,将模型拟合到每个矩阵,然后组合结果.目前我正在手工做事并寻找更优雅的解决方案.
试想一下,有5个*.csv文件在工作目录中,命名为dat1.csv,dat2.csv,... dat5.csv.我想使用每个数据集估计相同的线性模型.
鉴于这个答案,第一步是收集文件列表,我将使用以下内容
csvdat <- list.files(pattern="dat.*csv")
Run Code Online (Sandbox Code Playgroud)
现在我想做点什么
for(x in csvdat) {
lm.which(csvdat == "x") <- lm(y ~ x1 + x2, data = x)
}
Run Code Online (Sandbox Code Playgroud)
"which"语句是我试图依次为每个模型编号的愚蠢方式,使用csvdat列表中的循环当前的位置.也就是说,我想这个循环返回一组5个流明的对象与名称lm.1,lm.2等
是否有一些简单的方法来创建这些对象,并命名它们,以便我可以轻松指出它们对应的数据集?
谢谢你的帮助!
我是Stata用户,想要学习R.
我有几个冗长的文件夹路径,在我的Stata代码中,我存储为本地宏.我在这两个文件夹中有多个文件可供我的分析使用.
我知道,在R中,每次我想引用其中一个文件夹中的文件时,我都可以更改工作目录,但这绝对不是一个好方法.即使我将文件夹路径存储为R中的字符串,我也无法弄清楚如何引用它们.例如,在Stata中我会使用`folder1'.
我想知道是否尝试在R中逐行重写Stata代码并不是学习R的最佳方法.
有人可以帮忙吗?
我试着寻找答案,但我只能找到如何从csv文件创建单独的数据帧.我的工作目录中有很多csv文件,而不是通过它们将它们分配给各个数据帧
frame1 = read.csv(filepath)
Run Code Online (Sandbox Code Playgroud)
我希望它们包含在我可以进行操作的数据框列表中.这显然需要在dir()中对文件进行循环,但我不确定语法.在java中,我会为每个元素执行List.add().
谢谢
我有文件夹,其中包含大约200个.txt文件.我想读取所有文件并选择每个文件的第二列并将它们放在一个矩阵中.(rbind())是否有任何命令一次读取所有文件?
我想用:
data<-read.table ("", header= T, sep=",")
Run Code Online (Sandbox Code Playgroud)