2016-04-28 10 views
0

Rの変数に上限を設定するにはどうすればよいですか?変数の値に上限を設定するR

「a」と「b」の列を持つdata.frameがあるとします。 "b"の値は1:100の範囲です。私はすべての50より大きい値を50にしたいと思っています。

私はループを書いてこれをやりますが、私は機能が必要です。

答えて

4

単に、データフレームb > 50のサブセット@Frankによって強調平行最小関数を使用することであるように、

## example data 
df <- data.frame(a = seq(1:100), 
       b = seq(1:100)) 

## subset rows where b > 50, and assign b <- 50 
df$b[df$b > 50 ] <- 50  ## thanks thelatemail 
## or 
## df[df$b > 50, "b"] <- 50 

別のアプローチでbを更新?pmin

df$b = pmin(df$b, 50) 

pminは入力値を比較し、最小値を返します。

+6

または 'df $ b = pmin(df $ b、50)' – Frank

+0

フランクに感謝します。 pmin()は私が探していた関数でした。 –

+0

'df [df $ b> 50、] $ b < - 50'は' df'をすべてサブセットしてから 'b'をとります。' df $ b [df $ b> 50] < - 50'がもっと標準ですか?コメントアウトされたテキストの2番目の例も適切です。 – thelatemail

関連する問題