在矢量上使用ifelse

问题描述 投票:0回答:1

我一直在使用ifelse将一个向量分配给一个数据帧的列,如下所示:

data[, ncol(data) + 1] <- ifelse(is.price, p, y)(其中py是矢量)

不幸的是,我意识到这个表达式矢量化了ifelse返回值的第一个元素,所以我得到了一个nrow(data)相同元素的列。这是R的缺陷吗?我应该使用更明确的赋值吗?

r
1个回答
0
投票

试试:

library(dplyr)

data<- data %>%mutate( new_col= if_else(is.price, p, y))
© www.soinside.com 2019 - 2024. All rights reserved.