Ist das sauber genug?
Code: Alles auswählen
d <- data.frame(
x = as.numeric(c("NA", "NA", "NA", 1, 6, 3)),
y = as.numeric(c(1, 2, 9, "NA", "NA", "NA")),
z = as.factor(c("a", "a", "a", "b", "b", "b")),
soll = as.numeric(c(1,2,9,1,6,3))
)
d$soll2 <- rowSums(d[,c("x", "y")], na.rm = TRUE)
d$soll3 <- apply(d[1:2], 1, function(x) sum(x, na.rm = TRUE))
ergänzend darf ich sagen, dass Du bei der Definition des dataframes einfach nur die Anführungszeichen um die NA weglassen musst. Dann sparst Du Dir das ganze as.numeric Gedöns:
Code: Alles auswählen
d <- data.frame(
x = c(NA, NA, NA, 1, 6, 3),
y = c(1, 2, 9, NA, NA, NA),
z = c("a", "a", "a", "b", "b", "b"),
soll = c(1,2,9,1,6,3),
stringsAsFactors = TRUE
)
LG,
Bernhard