2 votes

R : XLConnect ne transmet pas les noms de variables

J'aimerais transférer les résultats d'un calcul de modèle linéaire de R vers une feuille de calcul dans Excel. Pour ce faire, j'utilise XLConnect avec le code suivant :

x <- 1000:2000
y <- 3*x+rnorm(length(x))
fit <- lm(y~x-1)
result <- summary(fit)$coeff

print(result)

require(XLConnect)
wb <- loadWorkbook("/Users/andreas/test1.xls", create = TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb, result, sheet = "test", startRow = 1, startCol = 1)
saveWorkbook(wb)

Cependant, le problème est que XLConnect ne transmet pas le nom du (des) coefficient(s) à Excel (ici : x) bien qu'il(s) soi(en)t imprimé(s) correctement.

Quelqu'un a-t-il une idée à ce sujet ?

J'apprécierais beaucoup toute aide.

Andy

5voto

joran Points 68079

Dans ce cas, le nom de la variable devient une fois un rowname. result est converti en une trame de données. Il existe un argument appelé rownames en writeWorksheet :

wb <- loadWorkbook("~/Desktop/test1.xls", create = TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb, result, sheet = "test", startRow = 1, startCol = 1,rownames = "var")
saveWorkbook(wb)

0voto

Hong Ooi Points 17761

Vous pourriez transmettre les noms des tableaux de coefficients séparément des valeurs :

writeWorksheet(wb, colnames(result), sheet="test", startRow=1, startCol=2)
writeWorksheet(wb, rownames(result), sheet="test", startRow=2, startCol=1)
writeWorksheet(wb, result, sheet="test", startRow=2, startCol=2)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X