2016-03-23 19 views
0

rtをそれぞれldfにそれぞれ適用するにはどうすればよいですか? xおよびyの値は次のとおりです。rのデータフレームに関数を適用する方法

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 
+0

'rt(x、y、unlist(df))'?そして実際に 'df'を' data.frame'とし、 'matrix'ではなくしたいと思っていますか? – MichaelChirico

+0

はい私はデータフレームとして持っています – HaagenDaz

+0

http://stackoverflow.com/questions/5158790/data-frame-or-matrix – MichaelChirico

答えて

2

おそらく最も簡単なあなたは、データフレームに固執したい場合には(すなわち、すべてのセルに)行と列の両方で機能を適用しますc(1,2)に設定MARGINパラメータ、と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)) 
+0

ありがとうございます – HaagenDaz

関連する問題