如何在R?
中的变量上设置上限?假设我有一个带有列的数据框架" a"和" b"。值" b"范围从1:100。我想制作所有值> 50等于50。
我可以编写循环并完成此操作,但我需要一个函数。
答案 0 :(得分:4)
将数据框简化为b > 50
,并使用 50 更新b
## 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
@Frank强调的另一种方法是使用并行最小值函数,?pmin
df$b = pmin(df$b, 50)
pmin
比较输入值并返回它们的最小值。