【发布时间】:2016-03-11 23:37:44
【问题描述】:
我有一个运行良好的循环,但输出仅在控制台中返回,数据框保持未修改。
- 在循环结束时,head(data) 在控制台中返回,在预期列中生成预期值
- 但是,这在原始数据帧中没有改变,我希望值出现在其中(打印头(数据)现在给我原始值,而不是循环创建的新值)
示例代码:
df <- cbind(x,y)
myfun <- function(z){
counter <- 0
for (i in 1:z) {
counter <- 1 + counter
for (j in 1:5) {
counter <- 1 + counter
if (condition_a){
df[counter,2] <- 0
}
if (condition_b){
df[counter,2] <- 1
}
}
}
return(head(df))
newdf <- df[,2]
}
我错过了什么?
值是 int 类,这有关系吗?
【问题讨论】:
-
请提供一个可重现的例子。见How to Ask
-
您对细节很了解。需要包含可重现的示例和您的代码。
-
请添加您的数据集,解释您要做什么并提供所需的输出。我们可以通过告诉使用
<<-之类的东西来解决您的本地问题,但我相信您的整个方法是不正确的,如果没有所有这些不必要的循环,当然也可以不使用<<-,这可以更容易地解决。跨度> -
可能我太新了,不知道这一点,如果您能提供提示,我将不胜感激!