Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中为dataframe中的列重新分配值的更智能的方法_R_Dataframe_Statistics - Fatal编程技术网

在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书和搜索的解决方案,没有一本像我在这里能找到的那样优雅。:)