r - 想要在 R 中一次分配虚拟变量的值

标签 r

我已经有一个变量,比如说 year,它是由

生成的
year <- seq(from=1790,to=1970,by=10) 

现在我想生成一个虚拟变量,比如 z,它在点 year=1940year=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/

相关文章:

r - 如何处理 'rpart' 中的连续变量和离散变量 - 使用 R 的决策树?

r - 使用 rvest 将字段添加到已抓取的表列表中

r - 在for循环中删除一行又一行

c++ - mkChar 不转义百分号

r - 根据给定的顺序对数据框进行排序

r - 查找重复项,对它们求平均值并创建一个合适的表

r - 我该如何处理 'from' 长度必须为 1 错误?

r - 创建一个新列来指示每种独特动物的可变数量

r - 通过功能将子集参数传递给子集

r - "How to plot decision boundary of a k-nearest neighbor classifier from Elements of Statistical Learning?"的变化