use*_*406 5 r local stata stata-macros
我是Stata用户,想要学习R.
我有几个冗长的文件夹路径,在我的Stata代码中,我存储为本地宏.我在这两个文件夹中有多个文件可供我的分析使用.
我知道,在R中,每次我想引用其中一个文件夹中的文件时,我都可以更改工作目录,但这绝对不是一个好方法.即使我将文件夹路径存储为R中的字符串,我也无法弄清楚如何引用它们.例如,在Stata中我会使用`folder1'.
我想知道是否尝试在R中逐行重写Stata代码并不是学习R的最佳方法.
有人可以帮忙吗?
首先,作为前Stata的用户,让我推荐的R用Stata的用户.R上的Macros也有这篇文章.我认为@Nick Cox是对的,你需要学会以更不同的方式做事.但是和你一样(至少在这种情况下),我常常发现自己开始了一项新的任务,因为我之前已经知道如何在Stata中做这件事并从那里开始.有时我发现方法是相似的.有时,当不同的方法更好时,我可以使R像Stata一样(例如,循环与矢量化).
我不确定我是否会用以下内容捕捉你的问题,但让我试一试.
在Stata中,通常会写:
global mydata "path to my data directory/"
Run Code Online (Sandbox Code Playgroud)
要导入数据,我只需输入:
insheet using "${mydata}myfile.csv"
Run Code Online (Sandbox Code Playgroud)
作为一名前Stata用户,我想在R中做类似的事情.这就是我的工作:
mydata <- "path to my data directory/"
Run Code Online (Sandbox Code Playgroud)
要导入位于此目录中的csv文件并创建名为myfile的数据框,我将使用:
myfile <- read.csv(paste(mydata, "myfile.csv", sep=""))
Run Code Online (Sandbox Code Playgroud)
或者更有效率......
myfile <- read.csv(paste0(mydata, "myfile.csv"))
Run Code Online (Sandbox Code Playgroud)
我不是一个非常有效的R用户,所以也许其他人会看到这种方法的一些缺陷.
也许你想要file.path()?
a <- "c:"
b <- "users"
c <- "charles"
d <- "desktop"
setwd(file.path(a,b,c,d))
getwd()
#----
[1] "c:/users/charles/desktop"
Run Code Online (Sandbox Code Playgroud)
你可以包裹source或read.XXX或周围的任何其他东西来做你想要的.
| 归档时间: |
|
| 查看次数: |
4437 次 |
| 最近记录: |