我有一整列数字,包括成千上万的逗号分隔符。当我尝试用它们创建一个数字列时,超过999的任何东西都变成了NA。
我用过cbind:
df <- cbind(df, var2 = as.numeric(as.character(df$var1)))
并结束:
var1 var2
1 2,518.50 NA
2 2,518.50 NA
3 5,018.50 NA
4 4,018.50 NA
5 10,018.50 NA
6 318.50 318.5
7 2,518.50 NA
8 3,518.50 NA
9 7,518.50 NA
10 1,018.50 NA
有没有办法删除逗号或告诉as.numeric
如何处理它们?
答案 0 :(得分:12)
如果您尝试向var2
添加新列df
,可以使用以下
df$var2 <- as.numeric(gsub(",", "", as.character(df$var1)))
答案 1 :(得分:3)
使用as.numeric(gsub(",", "", df$var1))
。
您想使用gsub
,因为sub
只会替换第一个逗号。