Problema ao gravar arquivo .csv usando R em 14.04

0

Acabei de instalar, fiz alguns cálculos matemáticos com sucesso com R. Então eu tento o seguinte,

> 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") 

Depois de criado data frame tentei escrever em sampleData.csv para que eu faça o seguinte,

> write.csv(df1, "./data/sampleData.csv",row.names = FALSE)

Eu recebi a resposta [ERROR] como

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
>

Estou usando o Ubuntu 14.04 e executo este código no terminal.

Causa do problema no diretório.

quando eu faço,

> getwd()

obteve resposta como

[1] "/home/arul"  

Mas nesse diretório não há r package. Eu não consigo encontrar onde meu R é colocado, eu usei apt-get install -y r-base , então como eu definir o caminho como R instalado?

EDIT 1

Eu crio a pasta data no diretório atual /home/arul conforme tirada por R e depois tentei escrever csv,

> write.csv(df1, "./data/sampleData.csv",row.names = FALSE)

Agora eu tenho problema de permissão,

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

Como posso resolver isso?

EDIT 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: -

EDIT 3

> system('whoami', intern=TRUE)
[1] "arul"
    
por A J 18.07.2014 / 09:10

1 resposta

0

O que parece mais provável é que ~/data/ não existe. Crie isso e deve ser capaz de escrever.

Você pode fazer isso em R, se quiser, com dir.create :

dir.create("./data", showWarnings=FALSE)

Graças à sua atualização, podemos ver que você está executando como root . Isso significa que o diretório que você criou é de propriedade do root e só pode ser gravado por root. Nuke-lo:

sudo rmdir data

Em seguida, volte a ser seu usuário (execute logout ou pressione Control + D ) e, em seguida, recrie o diretório. Quando você stat , o proprietário / grupo deve ser ambos arul .

    
por Oli 18.07.2014 / 09:14