R语言dataframe中根据指定列值修改另一列对应内容的方法咨询
实现方法
你之前用普通if语句失败的原因是:基础if()仅支持单个逻辑值判断,无法直接处理整列的向量判断逻辑,你可以选择以下两种常见方案实现需求:
方案1:dplyr(tidyverse生态,适配tibble结构)
library(dplyr) df <- df %>% mutate(Autoswing = if_else(`Duration(seconds)` == Inf, "✓", Autoswing))
方案2:基础R语法
df$Autoswing[df$`Duration(seconds)` == Inf] <- "✓"
两种方案运行后,所有Duration(seconds)取值为Inf的行,对应Autoswing列的✗都会被替换为✓,其余行的值保持不变。
内容的提问来源于stack exchange,提问作者lucas COCO
相关产品推荐
相关产品推荐

