r - 在 R 中的函数中保存 Stata 文件

标签 r function save stata

我正在尝试将文件从一个文件夹移动到另一个文件夹。我有一个名为“data”的数据框,其中包含“from”位置、“to”位置和文件名“myfile”。

library(foreign)


movefile <- function(from, to, myfile){
  readfile <- paste(from, myfile, sep = "/")
  temp <- read.dta(readfile)
  copyto <- paste(to, myfile, sep = "/")
  write.dta(temp, copyto)
}

当我使用以下代码行调用该函数时:
movefile(data$from, data$to, data$myfile)

它只复制第一个文件。当我尝试通过在函数中打印各种术语来诊断问题时(例如添加 print(copyto) 作为函数的最后一行),它会为 data 中列出的每个文件打印,表明该函数正在为中的每一行运行数据,但它实际上不会复制第一个文件以外的文件。我该如何纠正?

最佳答案

除非你真的需要将文件作为 data.frame 读入内存。使用 read.dta ,我建议使用 file.copy ,这将使用计算机文件系统复制文件。

 original.files <- do.call('file.path', data[c('from','myfile')])
 new.files <- do.call('file.path', data[c('to','myfile')])

 # overwrite will overwrite, so make sure you mean to do this 
 file.copy(from = original.files, to = new.files, overwrite = TRUE)

关于r - 在 R 中的函数中保存 Stata 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689472/

相关文章:

r - 如何在 Shiny 的应用程序中显示忙碌指示器?

bash - 将 bash 函数的返回值评估为整数

Javascript全局变量简单解决方案

r - R-将多图保存到文件

c# - 将图像保存在网络浏览器控件中,而无需从互联网上重新下载它们

R如何通过查找表中的不同函数汇总多列数据

r - 将所有轴标签放在 R lattice xyplot 的左侧和底部

r - "Live updates"在 r Shiny 中训练机器学习模型时

javascript - 如何在react中通过多个嵌套循环传递函数

android 为位图命名并保存