如何从R中的列中删除$和%?

时间:2016-03-02 20:55:37

标签: r

我正在尝试按照ggplot的教程进行操作,但数据集我列出美元值与$和百分比值%%使绘图不可能,因为它说它必须是数字。

例如我的数据集名称是住房,而住宅价格的列标记为Home.Value价格格式化: $ 24,895 $ 25175

我如何去除美元符号和百分号?

2 个答案:

答案 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 }})。