2015-05-13 73 views
0
exdata <- read.xlsx("123.xlsx", sheetIndex = 1) 

id <- exdata$id 

id // Class is factor 

我已阅读从Excel,在下面的格式有号的列分裂整数

384508338244525230_47603942 

384508338244525560_47603114 

我不需要的号码后“_”,即47603942我只是想忽略它为进一步的行动。

可以请你帮我从Excel中coulmn之前得到的数字“_”

让我也知道对解决方案的可行的方法

回答

2

您可以使用sub

id <- factor("384508338244525230_47603942") 
(id_ <- as.numeric(sub("([0-9]+)_.*", "\\1", id))) 
# [1] 3.845083e+17 
format(id_, scientific = FALSE) 
# [1] "384508338244525230" 
2

或者您可以尝试strsplit

id <-c("384508338244525230_47603942", "384508338244525560_47603114 ", "384508338244525560_47603114 ") 
id <- as.factor(id) 
new_id <- sapply(id, function(str){split <- unlist(strsplit(as.character(str), "_")); return(split[1])}) 
print(new_id)