【发布时间】:2018-01-15 18:54:29
【问题描述】:
我想了解如何使用 if/then 语句有条件地替换 R 数据框中的值。假设我有一个像这样的数据框:
df <- data.frame(
customer_id = c(568468,568468,568468,485342,847295,847295),
customer = c('paramount','paramount','paramount','miramax','pixar','pixar'));
我想做一些类似的事情, “如果客户在 ('paramount','pixar') 使 customer_id 为 99。否则什么都不做”。我正在使用此代码,但它不起作用:
if(df$customer %in% c('paramount','pixar')){
df$customer_id == 99
}else{
df$customer_id == df$customer_id
}
我收到一条警告消息,例如条件长度 > 1,并且只会使用第一个元素。并且这些值不会被替换。
我也想知道如何使用逻辑运算符来执行类似的操作, "如果 customer_id >= 500000,将 customer 替换为 'fox'。否则,什么也不做。
在 SQL 中很容易做到,但在 R 中似乎无法解决。
我的感觉是我在某处缺少括号?
如何使用 if/then 语句有条件地替换 R 数据框中的值?
【问题讨论】:
标签: r if-statement