我有一个只有一列的数据框。在该列中有两种类型的数据:
我想找到第二种类型的数据并删除数字和点。 我首先将数据从因子转换为字符。然后我使用'strsplit'来分割第二种类型的数据,但它没有用。
我的数据示例:
df <- data.frame(Col1 = c("ab","12.cd","cc","dd","34.af"), stringsAsFactors=FALSE)
我想找到"12.cd"
和"34.af"
并转为"cd"
和"af"
有人可以请你解决这个问题吗?
答案 0 :(得分:2)
我们可以从字符串的开头([^0-9]+
)匹配一个或多个数字(.
)后跟^
,并将其替换为空白(""
)
df$Col1 <- sub("^[0-9]+\\.", "", df$Col1)
df$Col1
#[1] "ab" "cd" "cc" "dd" "af"
或另一种选择是匹配所有非字母字符并替换为空白
sub("[^[:alpha:]]+", "", df$Col1)
df <- data.frame(Col1 = c("ab","12.cd","cc","dd","34.af"), stringsAsFactors=FALSE)