可能重复:
how to apply a function to every row of a matrix (or a data frame) in R
我想将一个函数应用于数据框中的每一行,但是,R默认将它应用于每一列。我怎么强迫它呢?
> 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
我想要像
这样的东西1 2
2 0
3 3
答案 0 :(得分:36)
您想要apply
(请参阅相关文档)。 apply(var,1,fun)
将应用于行,apply(var,2,fun)
将应用于列。
> apply(a,1,min)
[1] 1 0 3