我试图创建一个循环,并且对于每次迭代(其数量可以在源文件之间变化)构造一个mutate语句,以根据另一列的值添加一列。
在php中编写我的编程背景,在我看来这应该有效:
for(i in number){
colname <- paste("Column",i,sep="")
filtercol <- paste("DateDiff_",i,sep="")
dataset <- mutate(dataset, a = ifelse(b >= 0 & b <= 364,1,NA))
}
但是......因为我已经注意到有几次使用R函数,有时函数会忽略你已经定义了一个具有该名称的变量 -
mutate()
就在这里。
因此,我没有获得标题为&#34; a1&#34;,&#34; a2&#34;,&#34; a3&#34;等的几个专栏,而是获得一个名为&#34的专栏; a&# 34;每次迭代都会被覆盖。
首先,有人可以向我指出我在哪里出错,但其次可以有人向我解释在什么情况下R忽略变量名称,因为它现在发生了几次而且它在这一点上看起来非常不稳定。我确定它没有,而且那里有逻辑,但它确实很混乱。
还值得一提的是,我原来是这样尝试的:
just.dates <- just.dates %>%
for(i in number){
a <- paste("a",i,sep="")
filtercol <- paste("DateDiff_",i,sep="")
mutate(a = ifelse(filtercol >= 0 & filtercol <= 364),1,NA)
}
但是这样决定我只传递for()循环4参数,只需要三个。
答案 0 :(得分:0)
这样的事可能适合你。与mutate()相反的mutate_()函数可以帮助你解决这个问题。
server.get('/page2', restify.serveStatic({
directory: __dirname,
file: 'index2.html'
}));