创建具有不同行数的新R列

创建具有不同行数的新R列,r,R,我想在df中添加一个名为酒精的新列 df$alcohol <- df %>% filter(condition=='alcohol') %>% select(drift) df$酒精% 过滤器(条件==‘酒精’)%>% 选择(漂移) 但是,由于“酒精”是两种情况之一,此新列的值将减少,因此我收到以下错误消息: 错误:替换有36行,数据有72行 有人知道如何绕过此错误消息并添加值较少的新列吗 您可以使用ifelse语句,用您选择的标签(例如酒精)标记符合您病情的值

我想在df中添加一个名为酒精的新列

df$alcohol <- df %>% 
  filter(condition=='alcohol') %>% 
  select(drift)
df$酒精%
过滤器(条件==‘酒精’)%>%
选择(漂移)
但是,由于“酒精”是两种情况之一,此新列的值将减少,因此我收到以下错误消息:

错误:替换有36行,数据有72行


有人知道如何绕过此错误消息并添加值较少的新列吗

您可以使用
ifelse
语句,用您选择的标签(例如
酒精
)标记符合您病情的值,并将剩余值标记为
NA
(或其他值):

数据

df <- data.frame(
  drinks = c("apple juice", "coke", "whiskey", "milk", "water")
)
df$alcohol <- ifelse(df$drinks=="whiskey", "alcohol", "NA")
df
       drinks alcohol
1 apple juice      NA
2        coke      NA
3     whiskey alcohol
4        milk      NA
5       water      NA

data.frame由长度相等的
nrow
列定义组成。生成的结构应该是什么样的?您可以使用列表列表…可能有许多更简单的方法。查看您的数据和期望的结果将非常有帮助。您能否使用
dput
并提供数据样本?