根据数字而不是模式有条件地使用gsub

问题描述 投票:1回答:1

是否可以根据基于数字的条件而不是模式使用gsub

例如:

A      B
3      2
5      1
6      7
2      8
4      2

想象一下,我想在A列中将大于4的数字转换为字符high;而小于或等于4的字符low

A      B
low    2
high   1
high   7
low    8
low    2

我想使用类似:

df$A<-c(sapply(df$A, function(x) gsub(????, ??, x)))
regex gsub
1个回答
1
投票

您只需要ifelse

A <- c(3,5,6,2,4)
B <- c(2,1,7,8,2)

df <- data.frame(A,B)
df$A <- ifelse(df$A>4, "high", "low")
df

输出:

     A B
1  low 2
2 high 1
3 high 7
4  low 8
5  low 2

请参见R demo online

© www.soinside.com 2019 - 2024. All rights reserved.