【发布时间】:2021-03-03 08:14:49
【问题描述】:
我正在尝试基于 ifelse 语句创建一个新的数据框。我正在检查 1 个数据框以查看字段是否包含字符串。如果是这样,那么我想使用过滤器、子集和 rbind 方法将该数据帧中的行添加到另一个数据帧:
这行得通:
#Check to see if field contains string.
timeline.data.2 <-ifelse(grepl(1043-1, prescription.data$case_id),
timeline.data <- timeline.data %>%
filter(case_id==1043-1),
"do nothing")
这不是:
#Check to see if field contains string.
timeline.data.2 <-ifelse(grepl(1043-1, prescription.data$case_id),
timeline.data <- timeline.data %>%
filter(case_id==1043-1),
timeline.data <-subset(timeline.data, select = c(event,group,start,end,color,tooltip)),
timeline.data <- subset(prescription.data, select = c(event,group,start,end,color,tooltip)),
timeline.data <- rbind(timeline.data, prescription.data),
"do nothing")
我收到了错误:
Error in ifelse(grepl(1043 - 1, prescription.data$case_id), timeline.data <- timeline.data %>% :
unused argument ("do nothing")
谁能告诉我我在这里做错了什么?非常感谢。
【问题讨论】:
-
作业(`timeline.data ) would not work inside ifelse`
-
我试过了,但仍然没有运气。即子集(timeline.data,select = c(事件,组,开始,结束,颜色,工具提示))
-
另外,你的“是”是一个 data.fframe 而不是一个向量
-
如果条件满足,我只想运行subset/filter/cbind等想法?
-
您在检查
any元素吗?
标签: r if-statement subset rbind