我正在尝试使用外部硬盘驱动器中的目录作为工作目录使用R. 我可以将工作目录设置到我想要的位置,但是当我使用list.filesR时看不到任何东西.我也无法read.delim用来加载文件.
例如:
> rm(list = ls())
> WD<-"../../../Volumes/My_HD/my_working_directory"
> setwd(WD)
> getwd()
[1] "/Volumes/My_HD/my_working_directory"
Run Code Online (Sandbox Code Playgroud)
到目前为止很好,但随后:
> list.files(WD)
character(0)
Run Code Online (Sandbox Code Playgroud)
虽然我希望我知道的文件列表在那里,我可以看到并打开Finder和终端.实际上R脚本本身就在该目录中.
如果那时我尝试打开一个文件,我得到这样的东西:
> myfile <- read.delim(paste(WD,"/file_name", sep = ""), header = T)
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file '../../../Volumes/My_HD/my_working_directory/file_name': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我以为我做错了指定目录的路径,但我尝试从RStudio点击(会话>设置工作目录和>到源文件位置或>选择目录...)并得到相同的不满意的结果.
我在MacBookPro(OS X 10.7.05)上使用R版本2.15.1.我正在从RStudio版本0.97.551运行R,但问题与RStudio无关,因为当我直接尝试R时也会发生这种情况.
任何帮助将非常感谢.谢谢.
我想rbind在一个摘要中有几个矩阵.它们是不同功能的对象产品,并且在它们的名称中共享一个模式.
我想要做的是告诉R寻找具有该常见模式的所有对象然后再查找rbind它们.
假设存在这些矩阵:
commonname.N1<-matrix(nrow=2,ncol=3)
commonname.N2<-matrix(nrow=2,ncol=3)
commonname.M1<-matrix(nrow=2,ncol=3)
Run Code Online (Sandbox Code Playgroud)
我试过这样的东西来得到它们:
mats<-grep(x= ls(pos=1), pattern="commonname.", value=TRUE)
mats
[1] "commonname.N1" "commonname.N2" "commonname.M1"
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚的是如何判断rbind使用它作为参数.基本上我会提供与rbind(commonname.N1, commonname.N2, commonname.M1)本例中相同的矩阵.
我已经尝试过了
mats<-toString(mats)
rbind(mats2)
Run Code Online (Sandbox Code Playgroud)
但这只是创建一个矩阵,其中不同的对象作为名称.
mats<-as.list(mats)
do.call(what=rbind, args=as.list(mats))
Run Code Online (Sandbox Code Playgroud)
不做这个工作.
对不起,如果有什么基本的我在某处遗漏,但我无法弄明白,我对R来说比较新.