2017-11-30 1 views
1

Dies sollte wirklich einfach sein und ich bin mir nicht sicher, warum es nicht funktioniert. Ich stoße auf Probleme bei der Konvertierung von wissenschaftlichen in Dezimalschreibweise in R - sieht so aus, als ob der E-04 entfernt wird, also sind die Zahlen größer als sie sein sollten. Ich bin in einer csv lesen read.csv(df, stringasfactors = FALSE) verwenden und fraktionierte Stunden in diesem df$time:Konvertieren von wissenschaftlichen in Dezimal nach dem Entfernen zusätzlicher Zeichen in R

df$time 
4.3138888888888887E-4h 
0.833h 
4.2583333333333335E-4h 

Mein aktueller Code ist:

df$time<-gsub('h','',df$time) 
df$time<- as.numeric(df$time) 

, die mich haben gibt

df$time 
4.3138 
0.833 
4.2583 

jemand irgendwelche Gedanken ? Hätte reproduzierbare Daten enthalten, könnte aber keinen Zeichenvektor (nur Faktoren) erzeugen.

Jede und alle Hilfe wird sehr geschätzt, ich habe keine Ahnung, was falsch ist.

Antwort

1

Eigentlich habe ich es herausgefunden - früher im Code, ich habe eine substr(df$time, 10) angewendet, die wiederum nicht die E für einige der Einträge enthalten.

Das entfernen, und es funktioniert gut.

Bitte lernen Sie von meinem Fehler!

Verwandte Themen