一个看似简单的 R 任务让我很难过……我在 data.frame 中有一个 Number 字段和一个 TrueFalse 字段,如此处所示。
#Make Data
TrueFalse <- rep(c("TRUE","TRUE", "FALSE"),10)
Number <- seq(1, length(TrueFalse),3)
Table <- as.data.frame(cbind(TrueFalse, Number))
看着那(这head()
head(Table)
如果 TrueFalse 字段为 TRUE,我正在尝试创建一个包含 Numbers 列中的值的新列。在元代码中:
对于每一行,如果 TrueFalse = True,则 NewField ==Number,否则什么都没有(即保留为 NA)
我的工作代码如下。虽然搜索很有成效,但我仍然缺少一些步骤。提前感谢您的帮助!
#for() loop using if()
NewField <- rep("NA", nrow(Table))
for (i in 1:nrow(NewField)){
if(Table$TrueFalse[i] == "TRUE")
{NewField[i] <- Table$Number[i]}
}