【发布时间】:2011-05-21 02:52:53
【问题描述】:
我开始考虑将“[”的论点视为类似于机枪带:
set.seed(10)
datfrm <- data.frame(a= rev(letters[1:10]), b = runif(10), cc = letters[1:10] )
datfrm[datfrm$b < 0.5, "b"] <- 0
所以机枪传送带只运行到“[”的第一个参数:
---
---
---
---
datfrm[datfrm$b < 0.5, "b"] <- 0
但是,如果您只想对子集进行分配,比如说从另一列:
--- ---
--- ---
--- ---
--- ---
datfrm[ datfrm$b < .5, "cc"] <- datfrm[ datfrm$b < .5, "a"]
表达式datfrm$b 被反复评估,当它们在赋值的任一侧配对时......所有的都按预期进行。那么这有什么不对或不对,可以改进吗?
【问题讨论】:
-
不确定第一行代码是什么意思,但有很多错别字 - 现在可以检查一下吗?