我正在尝试按照ggplot的教程进行操作,但数据集我列出美元值与$和百分比值%%使绘图不可能,因为它说它必须是数字。
例如我的数据集名称是住房,而住宅价格的列标记为Home.Value价格格式化: $ 24,895 $ 25175
我如何去除美元符号和百分号?
答案 0 :(得分:4)
假设您有一个类似这样的数据框:
df<-data.frame(A=c("$5,33","$3,55"),B=c(T,F))
然后您可以用
替换A列df$A<-gsub("\\$","",df$A)
您必须使用\或fixed = T来表示gsub才能理解$(或%)是您想要替换的内容。
如果你想要一行$和%,你可以使用&#34; OR&#34; opperator(|)
df$A<-gsub("\\$|%","",df$A)
<强>更新强>
也许你想要这样,但考虑到你的数字是用逗号格式化的,并且将作为R的字符保留。你可能会在以后替换逗号。
要做到这一点,我们必须使用表达式&#34; \,&#34;去掉逗号。 (我们必须用\来逃避昏迷)。
df$A<-as.numeric(gsub("\\,","",df$A))
df
A B
1 533 TRUE
2 355 FALSE
现在请注意,列是数字
str(df)
'data.frame': 2 obs. of 2 variables:
$ A: num 533 355
$ B: logi TRUE FALSE
同样,你可以用一条线完成所有事情,但我猜你用两行更容易。
答案 1 :(得分:0)
This answer显示了在将数据读入R时删除逗号的方法。可以轻松修改以删除$,%和其他内容(只需将gsub(",","", from)
更改为{{1 }})。