如何选择/删除R字符串中引号中的任何内容?如何删除字符列中的数字?

如何选择/删除R字符串中引号中的任何内容?如何删除字符列中的数字?,r,single-quotes,R,Single Quotes,我有一列字符串,下面是一个示例: “abc” “def” 123 456 ghi jkl mno23 我想删除带有引号和数字的值,以便最终数据看起来像 ghi jkl mno23 如何在R中实现这一点,有什么帮助吗?我们可以使用base R中的grepl(或grep) subset(df1, !grepl("'", col1)) 或使用grep df1[grep("'", df1$col1, invert = TRUE),] 如果我们需要同时删除数字

我有一列字符串,下面是一个示例:

“abc”

“def”

123

456

ghi

jkl

mno23

我想删除带有引号和数字的值,以便最终数据看起来像

ghi

jkl

mno23


如何在R中实现这一点,有什么帮助吗?

我们可以使用
base R
中的
grepl
(或
grep

subset(df1, !grepl("'", col1))
或使用
grep

df1[grep("'", df1$col1, invert = TRUE),]

如果我们需要同时删除数字字符串和

subset(df1, grepl('^[A-Za-z]+$', col1))
或者更改先前的条件,以检查从字符串的开始(
^
)到结束(
$
)是否存在
或(
|
)一个或多个数字(
[0-9]+
),并对从
grepl
导出的逻辑向量求反(

subset(df1, !grepl("'|^[0-9]+$", col1))
#   col1
#5  ghi
#6  jkl
或者如果是任何数字

subset(df1, !grepl("'|[0-9]", col1))
#   col1
#5  ghi
#6  jkl
数据
df1您能否显示示例的
dput
,以正确获取结构。可能您需要
子集(df1,!grepl(“”,col1))
谢谢您,它成功了。我能对号码做同样的事吗?我在本专栏中也有一些数字?@Stats\u如果您想删除所有数字或任何数字,即
41、'4a'、'aaa4'
应将所有这些数字与
'
一起删除,那么在您的代码中,我删除了带引号的内容,我在本专栏中也有数字,像ghi 123 jkl一样,我想删除123部分。@Stats\u Uwash您可以通过编辑更新您的帖子,并且预期的输出
子集(df1,!grepl(“| ^[0-9]+$”,col1))
应该适用于trhat
df1 <- data.frame(col1 = c("'abc'", "'def'", 123, 456, "ghi", "jkl"), stringsAsFactors = FALSE)