gpt4 book ai didi

r - 如何使用 dplyr 删除 R 中包含特定位数的数据集列的值?

转载 作者:行者123 更新时间:2023-12-01 22:46:31 24 4
gpt4 key购买 nike

我有一个看起来像这样的数据集:

vec = c(989, 987, 145, 315, 8449, 9999999999000)
char = c("a","b","c","d","e","f")
df2 = tibble(vec,char);df2
# A tibble: 6 × 2
vec char
<dbl> <chr>
1 989 a
2 987 b
3 145 c
4 315 d
5 8449 e
6 9999999999000 f

我想从包含多于或等于 5 位数字的列向量中删除值。理想情况下,我希望看起来像这样:

1           989 a    
2 987 b
3 145 c
4 315 d
5 8449 e

我如何使用 dplyr 在 R 中执行此操作?

有什么帮助吗?

最佳答案

base R 中使用 nchar

subset(df2, nchar(vec) <6)

或者过滤

library(dplyr)
filter(df2, nchar(vec) <6)
# A tibble: 5 × 2
vec char
<dbl> <chr>
1 989 a
2 987 b
3 145 c
4 315 d
5 8449 e

如果有小数,则转为整数并计数

filter(df2, nchar(as.integer(vec)) < 6)

关于r - 如何使用 dplyr 删除 R 中包含特定位数的数据集列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75238843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com