替换特定的字符我想从在实施例的数据帧的可变DMA.NAME与.
替换所有,
,-
,)
,(
和(空间)。我提到三个职位,并试图他们的方法但都失败了:在数据帧的可变中的R
Replacing column values in data frame, not included in list
R replace all particular values in a data frame
Replace characters from a column of a data frame R
方法1
> shouldbecomeperiod <- c$DMA.NAME %in% c("-", ",", " ", "(", ")")
c$DMA.NAME[shouldbecomeperiod] <- "."
方法2
> removetext <- c("-", ",", " ", "(", ")")
c$DMA.NAME <- gsub(removetext, ".", c$DMA.NAME)
c$DMA.NAME <- gsub(removetext, ".", c$DMA.NAME, fixed = TRUE)
Warning message:
In gsub(removetext, ".", c$DMA.NAME) :
argument 'pattern' has length > 1 and only the first element will be used
方法3
> c[c == c(" ", ",", "(", ")", "-")] <- "."
样本数据帧
> df
DMA.CODE DATE DMA.NAME count
111 22 8/14/2014 12:00:00 AM Columbus, OH 1
112 23 7/15/2014 12:00:00 AM Orlando-Daytona Bch-Melbrn 1
79 18 7/30/2014 12:00:00 AM Boston (Manchester) 1
99 22 8/20/2014 12:00:00 AM Columbus, OH 1
112.1 23 7/15/2014 12:00:00 AM Orlando-Daytona Bch-Melbrn 1
208 27 7/31/2014 12:00:00 AM Minneapolis-St. Paul 1
我知道问题 - gsub
使用模式和仅第一个元素。其他两种方法是搜索整个变量的确切值,而不是在特定字符的值内搜索。
'gsub'查找*所有*匹配。 'sub'是唯一匹配的第一个 – 2014-10-20 16:24:06
!谢谢。我错误地使用了它。 – vagabond 2014-10-20 21:56:52