我是一个Stata的用户努力学习R.
我有一对夫妇的,在我的Stata代码,我存储为当地的宏冗长的文件夹路径。 我有两个这些文件夹的多个文件在我的分析中使用。
我知道,在R,我能我想引用文件中的某个文件夹,每次更改工作目录,但它绝对不是做一个好办法。 即使我保存的文件夹路径与R串,我想不出如何引用那些。 例如,在Stata我会用'文件夹1' 。
我想知道如果想在R线重新编写的Stata代码行不学习河的最佳途径
是否有人可以帮助?
我是一个Stata的用户努力学习R.
我有一对夫妇的,在我的Stata代码,我存储为当地的宏冗长的文件夹路径。 我有两个这些文件夹的多个文件在我的分析中使用。
我知道,在R,我能我想引用文件中的某个文件夹,每次更改工作目录,但它绝对不是做一个好办法。 即使我保存的文件夹路径与R串,我想不出如何引用那些。 例如,在Stata我会用'文件夹1' 。
我想知道如果想在R线重新编写的Stata代码行不学习河的最佳途径
是否有人可以帮助?
首先,作为前Stata的用户,让我推荐的R用Stata的用户 。 也有这篇文章中的R宏 。 我认为@Nick考克斯是正确的,你需要学会做事情更加不同。 但是,像你(至少在这种情况下),我经常发现自己开始一个新的任务,与我之前的如何做到这一点在Stata并从那里的知识。 有时候,我找到的方法是类似的。 有时候,我可以让[R行为像塔塔时,不同的方法会更好(例如, 循环与矢量 )。
我不知道我是否会捕捉以下你的问题,但让我试试。
在Stata,这将是常见的写:
global mydata "path to my data directory/"
要导入数据,我只需要输入:
insheet using "${mydata}myfile.csv"
作为曾经的Stata用户,我想要做的R.类似的东西这是我做的:
mydata <- "path to my data directory/"
要导入位于此目录中一个CSV文件,并创建一个名为myfile的数据帧时,我会用:
myfile <- read.csv(paste(mydata, "myfile.csv", sep=""))
或更有效地...
myfile <- read.csv(paste0(mydata, "myfile.csv"))
我不是一个非常有效的[R用户还没有,所以也许别人会看到这种方法存在一些缺陷。
也许你想file.path()
a <- "c:"
b <- "users"
c <- "charles"
d <- "desktop"
setwd(file.path(a,b,c,d))
getwd()
#----
[1] "c:/users/charles/desktop"
你可以用source
或read.XXX
或任何其他周围做你想要什么。
我是从上下文猜测术语当应用于文件“本地”意味着他们已经被加载到内存以提高效率? 如果是这样,那么你需要认识到,几乎所有的普通[R对象的处理的方式。 见?read.table
和?load
。 只有这样,数据可以保持非本地是有它驻留在具有支持SQL查询或使用专门的包装,如接口封装数据库ff
或bycol
。
除此之外,与大通的主意,用file.path(),以文件或连接的任何参考使用适当读取/负载/扫描字符值以(不同命名)的参数,其功能完成。 你可以看到各种低级别的功能?file
,也许下面的一些从帮助页面的其他链接。 你可以存储的一个或多个结果file.path
在字符载体构建可能被命名为便于参考。
pathvecs <- c(User= "~/", hrtg="~/Documents/Heritage/")
pathvecs
# User hrtg
# "~/" "~/Documents/Heritage/"
pathvecs["hrtg"]
# hrtg
#"~/Documents/Heritage/"