我正在尝试编写一个函数,该函数将从我的数据框中获取数字列(“比率”),并告诉我两位数字中是否包含5。如果语句为,则应返回X5。 true或“”(如果为false)。我已经尝试过ifelse
:
contX5 <- function(x) {
ifelse(5 %in% name$rate, "X5", "")
}
它返回的唯一内容是:
[1] ""
如何更改它,以便获得整列的答案?
谢谢!
答案 0 :(得分:1)
%in%
查找完全匹配的 。就您而言,5 %in% name$rate
仅与rate
列中的数字5相匹配。您可以使用grepl()
在您的列中找到5
的任何项。
ifelse(grepl(5, name$rate), "X5", "")
答案 1 :(得分:0)
您可以尝试。我加了一个例子。
yourData <- c(10, 5, 125, 100, 50)
ifelse(unlist(lapply(strsplit(as.character(yourData), ''), function(x) any(x %in% '5'))), 'X5', '')
"" "X5" "X5" "" "X5"