我有一个时间序列数据,其中包含一列中的货币数据。数据中有“$”符号。如何从货币值中删除所有$。
我的数据:
Date Dividend dat
1 1980-12-23 $0.001 26
2 1981-03-24 $0.001 27
3 1981-06-16 $0.001 28
4 1981-08-31 $0.001 29
5 1981-10-05 $0.003 30
6 1982-03-23 $0.001 31
我想要这样的数据:
Date Dividend dat
1 1980-12-23 0.001 26
2 1981-03-24 0.001 27
3 1981-06-16 0.001 28
4 1981-08-31 0.001 29
5 1981-10-05 0.003 30
6 1982-03-23 0.001 31
答案 0 :(得分:1)
sub
的 fixed=TRUE
会将一个文字字符串替换为另一个字符串。您需要fixed=TRUE
,因为$
是一个特殊字符,在正则表达式中有意义(它表示字符串的结尾)。
transform
使命令的语法更好一些。 transform
不会改变数据框,因此您需要使用返回值,可能会将其分配回原始变量。
transform(d, Dividend = sub('$', '', Dividend, fixed=TRUE))
Date Dividend dat
1 1980-12-23 0.001 26
2 1981-03-24 0.001 27
3 1981-06-16 0.001 28
4 1981-08-31 0.001 29
5 1981-10-05 0.003 30
6 1982-03-23 0.001 31
答案 1 :(得分:0)
使用gsub
与fixed=TRUE
一起使用,如@Mathew所述。
ginidata <- read.table(text = "Date Dividend dat
1 1980-12-23 $0.001 26
2 1981-03-24 $0.001 27
3 1981-06-16 $0.001 28
4 1981-08-31 $0.001 29
5 1981-10-05 $0.003 30
6 1982-03-23 $0.001 31")
ginidata$Dividend <- gsub("$","",ginidata$Dividend, fixed = TRUE)
ginidata
# Date Dividend dat
# 1 1980-12-23 0.001 26
# 2 1981-03-24 0.001 27
# 3 1981-06-16 0.001 28
# 4 1981-08-31 0.001 29
# 5 1981-10-05 0.003 30
# 6 1982-03-23 0.001 31