提问人:Sergio 提问时间:10/24/2023 最后编辑:arheopsSergio 更新时间:10/26/2023 访问量:71
是否可以在满足特定条件的列中的某些值上添加星号?
It is possible to add an asterisk to certain values in a column that meet a certain condition?
问:
id <- c("a", "b", "c", "d", "e")
value <- c(3, 4.1, 13.2, 8.0, 10.1)
df <- data.frame(id, value)
喜欢这个:
编号 | 价值 |
---|---|
一个 | 3 |
b | 4.1 |
c | 13.2* |
d | 8.0 |
e | 10.1* |
在本例中,我有一个数据帧,我想为所有大于或等于 10 的值放置一个星号
答:
0赞
Mark
10/24/2023
#1
df$value = ifelse(df$value >= 10, paste0(df$value, "*"), df$value)
或者使用 dplyr:
dplyr::mutate(df, value = ifelse(value >= 10, paste0(value, "*"), value))
评论
0赞
Sergio
10/26/2023
非常感谢,这个解决方案对我来说非常有效。此外,如果不是将星号添加到大于或小于条件的值,那么如果星号超出范围(例如,如果值低于 5 或大于 10),您将如何粘贴该星号?
0赞
Mark
10/26/2023
你可以使用这个功能!between(), then check for numbers not between using
0赞
Mark
10/26/2023
例如 如果 x 不在 1 和 10 之间,则返回 true!between(x, 1, 10)
1赞
jay.sf
10/24/2023
#2
我宁愿添加一个星号列,这样值就不会转换为字符。
> within(df, {
+ v10 <- value >= 10
+ ' ' <- c('', '*')[v10 + 1L]
+ rm(v10)
+ })
id value
1 a 3.0
2 b 4.1
3 c 13.2 *
4 d 8.0
5 e 10.1 *
上一个:Helm repo 添加说明
评论