R und as.numeric () [geschlossen]

geschlossen. Diese Frage ist nicht zum Thema . Derzeit werden keine Antworten akzeptiert.

Kommentare

  • Was genau ist die Frage? Sie möchten (-0.921,0,389593) als numerischen Vektor?

Antwort

Dies liegt daran, dass Sie gelesen haben die Zahlen als Faktoren; Wenn Sie read.table verwenden, versuchen Sie header=T oder strukturieren Sie die Daten vor dem Lesen neu. Ein Beispiel für die Datei sollte hilfreich sein, um das Problem zu beheben.

Problemumgehung besteht darin, zuerst Faktoren mit as.character in Zeichenfolgen und dann mit as.numeric.

Bearbeiten: Code funktioniert für das angegebene Beispiel:

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

Kommentare

  • @mbq Oder verwenden Sie das Argument colClasses in read.table()?
  • @ chl Möglicherweise; hängt davon ab, wie diese Daten aussehen.
  • " Dies liegt daran, dass Sie die Zahlen als Faktoren gelesen haben. Wenn Sie read.table verwenden, versuchen Sie es mit header = T oder strukturieren Sie die Daten vor dem Lesen neu. Ein Beispiel der Datei sollte hilfreich sein, um das Problem zu beheben. " nop. " Problemumgehung besteht darin, zuerst Faktoren mit as.character in Zeichenfolgen und dann mit as.numeric zurück in Zahlen zu konvertieren. " nop. Gleiches Ergebnis.
  • @kwak – Entfernen Sie die " V1 V2 … " aus der Datei, bevor Sie dies tun etwas. as.numeric funktioniert ' nicht mit nicht konvertierbaren Elementen im Vektor.
  • @mbq: > das hat den Trick gemacht . Ich hatte etwas anderes erwartet.

Antwort

Würde das helfen?

> 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 

Die Art und Weise, wie Sie Daten importieren, spielt keine große Rolle. Ich denke, der entscheidende Teil, wenn Wert als Zeichen und dann als Zahl konvertiert werden soll (dies ermöglicht die Konvertierung von Ebenen eines Faktors in ihre numerischen Gegenstücke). .

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.