Ich habe eine Matrix:gelten, sapply und lappy Rückkehr NULL
mat <- matrix(c(0,0,0,0,1,1,1,1,-1,-1,-1,-1), ncol = 4 , nrow = 4)
und ich gelten die folgenden Funktionen die Spalten mit nur positive Einträge, um herauszufiltern, aber für die Spalten, die negative Einträge haben erhalte ich eine NULL
. Wie kann ich die s von der Ausgabe lapply
, apply
und sapply
unterdrücken?
> lapply(as.data.frame(mat), function(x) { if(all(x >= 0)){return(x)} })
$V1
[1] 0 0 0 0
$V2
[1] 1 1 1 1
$V3
NULL
$V4
[1] 0 0 0 0
> sapply(as.data.frame(mat), function(x) { if(all(x >= 0)){return(x)} })
$V1
[1] 0 0 0 0
$V2
[1] 1 1 1 1
$V3
NULL
$V4
[1] 0 0 0 0
> apply(mat, 2, function(x){if (all(x >= 0)){return(x)}})
[[1]]
[1] 0 0 0 0
[[2]]
[1] 1 1 1 1
[[3]]
NULL
[[4]]
[1] 0 0 0 0
Danke für jede Hilfe.
Dank an (wenn Sie es in einem Listenformat behalten wollen), aber wie kommt es, dass auch funktioniert, wenn Sie nicht ein Komma setzen Sie vor dem Sapply? – Cauchy
'mat [, colSums (mat> = 0)> 0]' auch – thelatemail