gpt4 book ai didi

包含任何字符值的 R dplyr 子集行

转载 作者:行者123 更新时间:2023-12-05 08:28:56 27 4
gpt4 key购买 nike

我有一个数据集,其中特定列(在本例中为 x)具有某些具有字符值的行。

为了数据探索目的,我如何对包含任何字符值的这些行进行切片/子集化?

请注意,我不想对行中的所有字符进行硬编码以告诉代码这些行是否包含这些字符然后对这些行进行子集化。因为我的原始数据集很大,所以此列可以在任意行数中包含任意字符值。

因此,这就是查看该列中所有具有字符值的行的目的

示例数据和代码:

library(dplyr)

x = c("1000", "1001", "1003", "14484R", "1004", "1005", "12241alternet", "12634TAB", "12644R", "END", NA, NA)
y = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

df = data.frame(x, y)

# subset/slice rows in column x that contain any character value

最佳答案

使用 [:alpha:] 捕获任何字母的一个选项:

library(dplyr)
library(stringr)

df %>% filter(str_detect(x, "[:alpha:]"))
x y
1 14484R 4
2 12241alternet 7
3 12634TAB 8
4 12644R 9
5 END 10

或者因为您说您的数据集很大:

library(data.table)
setDT(df)
df[str_detect(x, "[:alpha:]")]

关于包含任何字符值的 R dplyr 子集行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72997871/

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