繁体   English   中英

从 R 中的数据帧行中删除部分字符串

[英]Removing parts of a string from data frame rows in R

我有一个数据框列,其中包含一个字符串,后跟一个小数点和一个数字(例如, data <- data.frame(ID = c("alpha.1","alpha.2", "alpha.3", "beta.1", "beta.2", "beta.3")) . 我怎样才能只删除小数和数字,然后留下单词?

我们可以使用sub来匹配. 后跟一个或多个数字 ( \\d+ ) 在字符串的末尾 ( $)并替换为空白 ( "" )

data$ID <- sub("\\.\\d+$", "", data$ID)
data$ID
#[1] "alpha" "alpha" "alpha" "beta"  "beta"  "beta"

或者另一种选择是trimws

data$ID <- trimws(data$ID, whitespace = "\\..*")

或使用word

library(stringr)
word(data$ID, 1, sep=fixed("."))
#[1] "alpha" "alpha" "alpha" "beta"  "beta"  "beta" 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM