2017-08-04 12 views
0

數據框如下所示,我省略了一些不相關的行和列。如何更改我的數據框中的「..」?

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)) 

然後,它原來是可以的,因爲原來的數量仍然在國內生產總值列, 「..」已被更改爲NA。我無法弄清楚爲什麼會發生這種情況。你可以幫我嗎 ?

回答

2

我們需要轉義(\\.,因爲它是一個元字符(意味着任何字符)來獲取字符的字面含義。

as.numeric(gsub("\\.+", "", df3$GDP)) 

或使用fixed = TRUE

as.numeric(gsub("..", "", df3$GDP, fixed = TRUE)) 

然而,,是不是元字符,所以我們不需要逃避

相關問題