Począwszy od tej ramki danychJak sprawić, by funkcja R zwracała wiele kolumn i dołączała je do ramki danych?
myDF = structure(list(Value = c(-2, -1, 0, 1, 2)), .Names = "Value", row.names = c(NA, 5L), class = "data.frame")
Załóżmy, że chcemy uruchomić tę funkcję na każdym rzędzie myDF $ Wartość
getNumberInfo <- function(x) {
if(x %% 2 ==0) evenness = "Even" else evenness="Odd"
if(x > 0) positivity = "Positive" else positivity = "NonPositive"
if (positivity == "Positive") logX = log(x) else logX=NA
c(evenness,positivity,logX)
}
... aby to ramka danych
structure(list(Value = c(-2, -1, 0, 1, 2), Evenness = c("Even",
"Odd", "Even", "Odd", "Even"), Positivity = c("NonPositive",
"NonPositive", "NonPositive", "Positive", "Positive"), Log = c(NA,
NA, NA, "0", "0.693147180559945")), row.names = c(NA, 5L), .Names = c("Value",
"Evenness", "Positivity", "Log"), class = "data.frame")
Co to jest 't (sapply'do w przeciwieństwie do just' tapply'? Nie wiem, co owija coś 't()' nigdy nie widziałem tego udokumentowanego. –