R ja as.numeerinen () [suljettu]

Suljettu. Tämä kysymys on aiheen ulkopuolella . Se ei tällä hetkellä hyväksy vastauksia.

Kommentit

  • Mikä on kysymys tarkalleen? Haluatko (-0,921,0,389593) numeerisena vektorina?

Vastaa

Tämä johtuu siitä, että olet lukenut luvut tekijöinä; Jos käytät read.table, kokeile header=T tai järjestele tiedot uudelleen ennen lukemista. Joitakin esimerkkejä tiedostosta pitäisi olla hyödyllinen sen ratkaisemiseksi.

Kiertotapa olisi muuntaa tekijät ensin merkkijonoiksi käyttämällä as.character ja sitten takaisin numeroihin, joissa on as.numeric.

Muokkaa: Koodi toimii annetussa esimerkissä:

readLines("<filename>")->z read.table(textConnection(z[-grep("V",z)])) 

Kommentit

  • @mbq Tai käytä colClasses-argumenttia kohdassa read.table()?
  • @ chl Mahdollisesti; riippuu näiden tietojen ulkoasusta.
  • " Tämä johtuu siitä, että olet lukenut numerot tekijöinä; Jos käytät read.table-taulukkoa, kokeile header = T tai muokkaa tiedot ennen lukemista. Joitakin esimerkkejä tiedostosta pitäisi olla hyödyllinen sen ratkaisemiseksi. " nop. " Kiertotapa olisi muuntaa tekijät ensin merkkijonoiksi käyttämällä as.characteria ja sitten takaisin numeroiksi käyttämällä as.numeric. " nop. sama tulos.
  • @kwak – poista ne " V1 V2 … " tiedostosta ennen kuin teet mitä vain. as.numeric ei voittanut ' työtä, jossa vektorissa ei ole muunnettavia elementtejä.
  • @mbq: > joka teki tempun . Odotin jotain muuta.

Vastaa

Auttaako se?

> a <- as.data.frame(matrix(scan("1.txt", what="character", na.strings=c("NA",paste("V",1:6,sep=""))), nc=13, byrow=T)) > class(a[,1]) [1] "factor" > for (i in 1:ncol(a)) a[,i] <- as.numeric(as.character(a[,i])) > class(a[,1]) [1] "numeric" > summary(a) # should work here 

Tapalla, jolla tuot tietoja, ei ole väliä niin paljon; mielestäni kriittisellä osalla, jos arvo muunnetaan merkiksi, sitten numeeriseksi (tämä antaa mahdollisuuden muuntaa tekijän tasot vastaaviksi) .

Kommentit

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *