【发布时间】:2017-11-16 14:09:23
【问题描述】:
我正在查看代码from here,它的开头是这样的:
## generate data for medical example
clinical.trial <-
data.frame(patient = 1:100,
age = rnorm(100, mean = 60, sd = 6),
treatment = gl(2, 50,
labels = c("Treatment", "Control")),
center = sample(paste("Center", LETTERS[1:5]), 100, replace =
TRUE))
## set some ages to NA (missing)
is.na(clinical.trial$age) <- sample(1:100, 20)
我无法理解最后一行。
LHS 是所有 FALSE 值的向量。 RHS 是从向量 1:100 中选择的 20 个数字的向量。
我不明白这种任务。这个结果如何导致clinical.trial$age 获得一些NA 值?这种作业有名字吗?充其量我会说 RHS 上的布尔向量通过回收获得分配给它的数字。
【问题讨论】:
-
LHS 是所有 FALSE 值的向量(因为不存在 NA)。
-
有趣!所以如果
x <- 1:3那么is.na(x) <- 2似乎我们正在解决关于2 的x[2] <- NA -
is.na<-行为在各自的帮助中进行了描述。但我同意这种用法远非“直观”...... -
有谁知道是否还有更多功能,包括该功能(colnames()、class()、....)?我有兴趣了解为什么这样做(显然仅在某些功能(?)中,但不是全部)而不是重述现有文档,....
-
“那个功能”是什么意思?函数的赋值变体?这只是方便。最重要的例子是
`[<-`(子集赋值)。
标签: r assignment-operator