我一直在使用ifelse
将一个向量分配给一个数据帧的列,如下所示:
data[, ncol(data) + 1] <- ifelse(is.price, p, y)
(其中p
和y
是矢量)
不幸的是,我意识到这个表达式矢量化了ifelse
返回值的第一个元素,所以我得到了一个nrow(data)
相同元素的列。这是R的缺陷吗?我应该使用更明确的赋值吗?
试试:
library(dplyr)
data<- data %>%mutate( new_col= if_else(is.price, p, y))