数据框如下所示,我遗漏了一些不相关的行和列。
CountryCode rank Country GDP
COM 182 Comoros 596
DMA 183 Dominica 480
TON 184 Tonga 472
FSM 185 Micronesia, Fed. Sts. 326
STP 186 S鉶 Tom?and Principe 263
PLW 187 Palau 228
MHL 188 Marshall Islands 182
KIR 189 Kiribati 175
TUV 190 Tuvalu 40
ASM American Samoa ..
ADO Andorra ..
CYM Cayman Islands ..
CHI Channel Islands ..
CUW Cura鏰o ..
DJI Djibouti
FRO Faeroe Islands ..
PYF French Polynesia ..
GRL Greenland ..
GUM Guam ..
IMY Isle of Man ..
PRK Korea, Dem. Rep. ..
LBY Libya ..
LIE Liechtenstein ..
MMR Myanmar ..
在我读完这个csv文件后,我想用“”代替“”,所以我使用代码:
df3$GDP <- as.numeric(gsub("..", "", df3$GDP))
事实证明,这些数字变为0,1,2 ......并且“..”变为NA,但是,如果我使用
df3$GDP <- as.numeric(gsub(",", "", df3$GDP))
然后事实证明是正常的,因为原始数字仍然在GDP列中,并且“..”已经更改为NA。我无法弄清楚为什么会发生这种情况。你能救我吗?
答案 0 :(得分:2)
我们需要转义\\
.
因为它是元字符(暗示任何字符)才能获得字符的字面含义。
as.numeric(gsub("\\.+", "", df3$GDP))
或以其他方式使用fixed = TRUE
as.numeric(gsub("..", "", df3$GDP, fixed = TRUE))
但是,,
不是元字符,所以我们不需要转义