Applicare una funzione a ciascuna riga in un frame di dati in R [duplicato]
Domanda
Eventuali duplicati:
come applicare una funzione ad ogni riga di una matrice (o un frame di dati) in R
voglio applicare una funzione a ciascuna riga in un frame di dati, tuttavia, R applica ad ogni colonna di default. Come forzo altrimenti?
> a = as.data.frame(list(c(1,2,3),c(10,0,6)),header=T)
> a
c.1..2..3. c.10..0..6.
1 1 10
2 2 0
3 3 6
> sapply(a,min)
c.1..2..3. c.10..0..6.
1 0
Volevo qualcosa di simile
1 2
2 0
3 3
Soluzione
You want apply
(see the docs for it). apply(var,1,fun)
will apply to rows, apply(var,2,fun)
will apply to columns.
> apply(a,1,min)
[1] 1 0 3
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow