Ich habe data.frame-Objekt, das aus zwei Vektoren v1, v2 besteht. Wie Sie aus meinen Daten sehen können, enthält v1 0e + 00, ich möchte diese Werte der Zeile zuweisen, die 0e + 00 enthält. Ich habe versucht, das zu tun, aber ich habe nicht bekommen, was ich erwartet habe. Wie kann man das in R machen? Doch dies ist mein Versuch, dies zu tun, aber es wird nicht funktionieren:Wie ersetzen Sie Nicht-Null-Werte als Standard in data.frame-Objekt zeilenweise?
res<- apply(data, 1, function(ro) {
tmp<- ifelse(length(ro[[1]]==0 & !length(ro[[2]])==0),0e+00, ro)
})
reproduzierbares Beispiel wie folgt:
v1 <- c(1e-06,1e-05,0e+00,0e+00,0e+00,1e-07,0e+00)
v2 <- c(4.551651e-38,3.519523e-33,6.316980e-26,8.159048e-34,
4.935429e-20,4.551651e-38,9.080082e-38)
dat <- data.frame(v1, v2)
Meine gewünschte Ausgabe (I manuell hier tat um zu zeigen, wie es aussieht, Ähnliches):
DataFrame with 7 rows and 2 columns
v1 v2
<numeric> <numeric>
1 1e-06 4.551651e-38
2 1e-05 3.519523e-33
3 0e+00 0e+00
4 0e+00 0e+00
5 0e+00 0e+00
6 1e-07 4.551651e-38
7 0e+00 0e+00
dann möchte ich diese Zeile auszulöschen enthält 0E + 00, so endgültig gewünschte Ausgabe:
DataFrame with 7 rows and 2 columns
v1 v2
<numeric> <numeric>
1 1e-06 4.551651e-38
2 1e-05 3.519523e-33
3 1e-07 4.551651e-38
Wie kann ich meine gewünschte Ausgabe erhalten?
'Daten <- [! Data $ V1 = 0] -Daten'? – scoa
@scoa: es gab mir nicht, was ich erwartet hatte. Irgendeine bessere Idee? Danke – Jeff