我已经有一个变量,比如说 year,它是由
生成的year <- seq(from=1790,to=1970,by=10)
现在我想生成一个虚拟变量,比如 z,它在点 year=1940 和 year=1950 处取值 1 >,其他地方都是 0。我的方法,对我来说看起来很尴尬,是
z <- rep(0,times=length(year)) # initialize z
z[year==1940|year==1950] <- 1
现在我想知道有没有更好的方法,比如一次赋值,因为z的初始化其实很耗时。
最佳答案
z <- as.numeric(year %in% c(1940, 1950))
虽然我很好奇;对于所有实际用途,您所拥有的应该已经足够快了。
关于r - 想要在 R 中一次分配虚拟变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17346689/