在 14.04 中使用 R 写入 .csv 文件时出现问题

在 14.04 中使用 R 写入 .csv 文件时出现问题

我刚刚安装,我已经用 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/arulR 所采用的文件夹,然后尝试写入 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

相关内容