作者qazzzzz (小毛怪)
看板R_Language
标题[问题] Excel字串的处理
时间Thu Oct 30 17:07:19 2014
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
新手
[问题叙述]:
我的资料Excel档里面有两个column,
第一个column他是id,第二的column是他的名字
因为他的名字都会有一些不必要的符号,
所以我想把一些符号改成空格
可是不太会用for loop...
请问要如何针对column 2 检查每一个名字的每一个字母呢?
谢谢~
例如: 将"<" 及 ">" 变空格
┌───┬────┐
│ id1 │name<1> │ →name 1
├───┼────┤
│ id2 │n<2>tea │ →n 2 tea
├───┼────┤
│ id3 │juice<3>│ →juice 3
└───┴────┘
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.25.100
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/R_Language/M.1414660042.A.FCD.html
1F:→ koai: gsub(">"," ",gsub("<"," ",data[,2])) 10/30 17:51
那如果他还有其他标点符号呢??
因为用 gsub 好像要知道他有哪些符号是我们要删的?
但这个资料好像甚麽样符号都有可能出现
※ 编辑: qazzzzz (1.160.11.45), 10/30/2014 21:55:40
2F:推 Edster: 如果是这样你必须先定义什麽是要保留的文字. 10/30 22:34
3F:→ Edster: 而什麽是要被取代的. 10/30 22:34
4F:→ Edster: 比如说你可以定义 letters (英文字母) 是要保留的. 10/30 22:36
5F:→ Edster: 其余全部转成空白. 10/30 22:36
6F:推 Edster: library(stringr) 10/30 22:52
7F:→ Edster: x = c("xz", "123", "gcb5c") 10/30 22:52
8F:→ Edster: y = rep(list(character(100)),length(x)) 10/30 22:52
9F:→ Edster: for(i in 1:length(x)) for(j in 1:nchar(x[i])) 10/30 22:52
10F:→ Edster: y[[i]][j] = str_sub(x[i], j, j) 10/30 22:53
11F:→ Edster: unique(unlist(y)) 10/30 22:54
12F:→ Edster: 你就得到所有的字元, 再用上面的教学取代. 10/30 22:55
13F:→ obarisk: keyword regexp punct 10/31 10:07
14F:→ obarisk: gsub("[[:punct:]]", "", string) 10/31 10:08
谢谢大家的教学~!!!!
※ 编辑: qazzzzz (140.112.25.100), 11/04/2014 10:25:23