繁体   English   中英

如何在R中的数据帧上应用功能

[英]how to apply functions on data frame in r

我如何将以下函数rt应用于df每个值l xy具有以下值。

 x<-9
 y<-1

rt<-function(x,y,l) min(x,max(0,l-y))

df
a   b   c
5   6   7
1   4   1
2   4   3

如果您想坚持使用数据框,最简单的方法就是使用apply MARGIN参数设置为c(1,2) apply,这使它可以按行和按列(即,对每个单元格)应用该函数。

x <- 9
y <- 1

rt <- function(x, y, l) min(x, max(0, l-y))

df <- data.frame(a = c(5, 1, 2),
                 b = c(6, 4, 4),
                 c = c(7, 1, 3))

rt_df <- as.data.frame(apply(df, c(1,2), rt, x = x, y = y))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM