我刚刚安装,我已经用 R 成功地做了一些数学计算。然后我尝试以下操作,
> var1 <- 1:5
> var2 <- (1:5) / 10
> var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")
> df1 <- data.frame(var1, var2, var3)
> names(df1) <- c("VariableInt", "VariableReal", "VariableChar")
创建后,data frame
我尝试写入,sampleData.csv
为此我执行以下操作,
> write.csv(df1, "./data/sampleData.csv",row.names = FALSE)
我收到 [ERROR] 响应,
Error in file(file, ifelse(append, "a", "w")) :
cannot open the connection
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
cannot open file './data/samplData.csv': No such file or directory
>
我正在使用 Ubuntu 14.04,并在终端中运行此代码。
问题原因在目录中。
当我做,
> getwd()
得到的回应是,
[1] "/home/arul"
但是在该目录中没有r
包。我找不到我的 R 放在哪里,我使用了apt-get install -y r-base
,那么如何将路径设置为已安装的 R ?
编辑1
我data
在当前目录中创建了/home/arul
R 所采用的文件夹,然后尝试写入 csv,
> write.csv(df1, "./data/sampleData.csv",row.names = FALSE)
现在我遇到了权限问题,
Error in file(file, ifelse(append, "a", "w")) :
cannot open the connection
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
cannot open file './data/dummyData.csv': Permission denied
我该如何解决它?
编辑2
root@arul-PC:/home/arul# stat data
File: ‘data’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 809h/2057d Inode: 3147229 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2014-07-18 12:42:00.057099167 +0530
Modify: 2014-07-18 12:41:59.041099204 +0530
Change: 2014-07-18 12:41:59.041099204 +0530
Birth: -
编辑3
> system('whoami', intern=TRUE)
[1] "arul"
答案1
最有可能的是,它~/data/
不存在。创建它,它应该能够写入。
如果你愿意,你可以在 R 中做到这一点dir.create
:
dir.create("./data", showWarnings=FALSE)
感谢您的更新,我们可以看到您正在运行以 root 身份。这意味着您创建的目录归 root 所有,并且只能由 root 写入。删除它:
sudo rmdir data
然后返回您的用户身份(运行logout
或按Control+ D),然后重新创建目录。此时stat
,所有者/组应该都是arul
。