在R中为dataframe中的列重新分配值的更智能的方法
假设有一个数据帧在R中为dataframe中的列重新分配值的更智能的方法,r,dataframe,statistics,R,Dataframe,Statistics,假设有一个数据帧df,列foo为float。如果foo的值不止一个,我想将foo赋值为1。想知道在R中是否有有效的实现方法?如果有一行实现,它将非常棒,类似于Python中的lambda表达式。谢谢。试试: df$foo[df$foo > 1] <- 1 df$foo[df$foo>1]一种有效的方法是使用数据就地分配 library(data.table) setDT(df)[foo > 1, foo := 1] 所以,聪明的解决方案,谢谢用户2280549,投票赞成并将
df
,列foo
为float。如果foo
的值不止一个,我想将foo
赋值为1。想知道在R中是否有有效的实现方法?如果有一行实现,它将非常棒,类似于Python中的lambda表达式。谢谢。试试:
df$foo[df$foo > 1] <- 1
df$foo[df$foo>1]一种有效的方法是使用数据就地分配
library(data.table)
setDT(df)[foo > 1, foo := 1]
所以,聪明的解决方案,谢谢用户2280549,投票赞成并将您的回复标记为答案。谢谢并投票赞成,我有两本R书和搜索的解决方案,没有一本像我在这里能找到的那样优雅。:)