Takie coś mie wpadło - dla rybołowów - popełnione przez Francuzów:
MetricCompute <- function(faun, guild, labels, type, Tol = 1e-7){
# ...
f2 <- function(x,tol) ifelse(abs(x) < tol & !is.na(x), 0, x)
w <- as.data.frame(apply(w, 2, function(x, y = Tol) f2(x, tol = y)))
# ...
return(w)
}
Definiowanie funkcji wewnątrz funkcji - pysznie, choć zastosowana jest aż 1 raz. Domyślam się, że as... to jakiś cast, a apply - transformacja. Za chuja nie wiem, co znaczy to 2, tj. do czego służy, no więc do dokumentacji:
apply(X, MARGIN, FUN, …)
Arguments
Arguments
X an array, including a matrix.
MARGIN a vector giving the subscripts which the function will be applied over. E.g., for a matrix 1 indicates rows, 2 indicates columns, c(1, 2) indicates rows and columns. Where X has named dimnames, it can be a character vector selecting dimension names.
Kurwa, co za odkorowańcy zestaw indeksów nazywają MARGIN? Aha, pewno płodziciele i szczęśliwi rodzice tego potworka. Ożeż ja pierdolę. Obfiuskejszyn baj dizajn. Opisu X już nie komentuję.
Moja wersja, chyba mniej przekompinowana*.
MetricCompute <- function(faun, guild, labels, type, Tol = 1e-7){
# ...
wtransformed = apply(w, 2, function(x) ifelse(abs(x) < Tol & !is.na(x), 0, x))
w <- as.data.frame(wtransformed)
# ...
return(w)
}
No i niestety działa. Czyli trza napierdalać dalij**.
* przypisywane poczciwinie Wałkowi, zwanemu przez styropiańców czy popaprańców i etos Lechem. On niski wincy, a do fotografii miał z kimś stanąć i czy to na palce się podnosił, czy za taboretem rozglądał, mówiąc coś w rodzaju "znowu muszem kompinować".
** i dalij - K. Materna jako prowadzący teleturniej "Róg obfitości".
No comments:
Post a Comment