作者celestialgod (天)
看板R_Language
标题Re: [问题] paste字串处理
时间Sun Mar 5 19:33:50 2017
※ 引述《CAPPON (JI3)》之铭言:
: 因要到SQL抓资料
: 需要先做资料的转换, 但是要如何从RM_NO 转换成要的格式
: 每个字串都要有上引号
: 谢谢
: data <- data
: column.name <- "RM_NO"
: cat("column.name = ", column.name, "\n", sep="")
: data$bb <- paste("\'", as.character(data[,paste(column.name, sep="")]), "\'"
: , sep="")
: RM_NO bb
: AB7003K,A6B7004M,A6B7003X 'AB7003K,A6B7004M,A6B7003X'
: B6C80077,B6C8007U,B6C8007S 'B6C80077,B6C8007U,B6C8007S'
: A6CQ0007,A6CQ0003,A6CQ0008 'A6CQ0007,A6CQ0003,A6CQ0008'
: 需要的格式
: 'AB7003K','A6B7004M','A6B7003X'
: 'B6C80077','B6C8007U','B6C8007S'
: 'A6CQ0007',A6CQ0003','A6CQ0008'
dat <- read.table(textConnection("
RM_NO
AB7003K,A6B7004M,A6B7003X
B6C80077,B6C8007U,B6C8007S
A6CQ0007,A6CQ0003,A6CQ0008
"), header = TRUE)
column.name <- "RM_NO"
dat$bb <- gsub("([A-Z0-9]+)(,?)", "'\\1'\\2", dat[[column.name]])
dat
# RM_NO bb
# 1 AB7003K,A6B7004M,A6B7003X 'AB7003K','A6B7004M','A6B7003X'
# 2 B6C80077,B6C8007U,B6C8007S 'B6C80077','B6C8007U','B6C8007S'
# 3 A6CQ0007,A6CQ0003,A6CQ0008 'A6CQ0007','A6CQ0003','A6CQ0008'
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.232.184.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1488713633.A.9D2.html
1F:推 CAPPON: 谢谢C大,RM_NO的内容是变数,这边看不太懂怎麽使用~ 03/07 10:17
是变数没错啊... 所以我用[[去取出来阿,再assign回去原本的data.frame
※ 编辑: celestialgod (36.232.184.141), 03/07/2017 18:34:02