小编A.M*_*stt的帖子

R list.files(my_working_directory)显示没有文件,但我知道它们在那里.怎么修?

我正在尝试使用外部硬盘驱动器中的目录作为工作目录使用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时也会发生这种情况.

任何帮助将非常感谢.谢谢.

r working-directory hard-drive

5
推荐指数
1
解决办法
9864
查看次数

如何根据对象名称对矩阵进行rbind?

我想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来说比较新.

r rbind

4
推荐指数
1
解决办法
1112
查看次数

标签 统计

r ×2

hard-drive ×1

rbind ×1

working-directory ×1