将函数应用于R中数据框中的每一行

时间:2011-03-16 18:41:39

标签: r dataframe sapply

  

可能重复:
  how to apply a function to every row of a matrix (or a data frame) in R

     

R - how to call apply-like function on each row of dataframe with multiple arguments from each row of the df

我想将一个函数应用于数据框中的每一行,但是,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

1 个答案:

答案 0 :(得分:36)

您想要apply(请参阅相关文档)。 apply(var,1,fun)将应用于行,apply(var,2,fun)将应用于列。

> apply(a,1,min)
[1] 1 0 3