Je souhaite écrire un ensemble de nombres générés aléatoirement dans un fichier texte au format fixe. Mais pour certaines raisons, write.fwf n'a écrit que la première colonne à droite, toutes les autres colonnes ont reçu un chiffre supplémentaire. Comment puis-je le réparer? Merci!Pourquoi write.fwf() n'a pas suivi le jeu de largeur fixe
set.seed(1899)
library(sensitivity)
library(randtoolbox)
par_lower <- c(0.12, 0.13, 0.038, 0.017)
par_upper <- c(12.00, 13.00, 3.800, 1.700)
sample_size <- 5
lim_para8 <- c(par_lower[1], par_upper[1])
lim_para9 <- c(par_lower[2], par_upper[2])
lim_parb8 <- c(par_lower[3], par_upper[3])
lim_parb9 <- c(par_lower[4], par_upper[4])
par_rand <- parameterSets(par.ranges = list(lim_para8, lim_para9,
lim_parb8, lim_parb9),
samples = sample_size, method = "sobol")
par_rand
# write to file
library(gdata)
file2write <- paste("par.txt", sep = "")
write.fwf(par_rand, file = file2write, width = c(10, 10, 10, 10), colnames = FALSE)
Les résultats:
6.060 6.56500 1.91900 0.858500
9.030 3.34750 2.85950 0.437750
3.090 9.78250 0.97850 1.279250
4.575 4.95625 2.38925 0.227375
10.515 11.39125 0.50825 1.068875
Si j'ai changé pour
write.fwf(par_rand, file = file2write, width = c(10, 9, 9, 9),
colnames = FALSE, quote = FALSE, rownames = FALSE)
J'ai eu cette erreur
Error in write.fwf(par_rand, file = file2write, width = c(10, 9, 9, 9), :
'width' (9) was too small for columns: V4
'width' should be at least (10)
justs en le regardant: votre dernière colonne a une largeur de 11. – KoenV
Je sais mais il a été écrit par 'write.fwf()'. Je voudrais avoir la largeur de 10 seulement. Merci! – Tung
S'il vous plaît regardez la réponse. Je pense que j'ai trouvé le coupable et la solution. – KoenV