问题:
如何使用R快速有效地从数据框中删除所有特殊字符?
进度:
此SO post详细说明了如何删除特殊字符。我可以将gsub函数应用于单个列(图像1和2),但不能应用于整个数据帧。
问题:
我的数据框由100多列整数,字符串等组成。当我尝试在数据帧上运行gsub时,它不会返回我想要的输出。相反,我得到了图像3中显示的内容。
df <- read.csv("C:/test.csv")
dfa <- gsub("[[:punct:]]", "", df$a) #this works on a single column
dfb <- gsub("[[:punct:]]", "", df$b) #this works on a single column
df_all <- gsub("[[:punct:]]", "", df) #this does not work on the entire df
View(df_all)
df - 这是原始数据框:
dfa - 这是应用于b列的gsub。好!
df_all - 这是应用于整个数据帧的gsub。糟糕!
要点:
有没有办法gsub整个数据帧?否则,应该使用apply函数吗?
答案 0 :(得分:1)
这是使用dplyr的可能解决方案:
{{1}}
答案 1 :(得分:0)
另一个解决方案是首先将数据帧转换为矩阵然后运行gsub,然后转换回数据帧,如下所示:
module Code where
Ord :: Char -> Int
Ord c = ...