2017-08-04 3 views
0

Das Datenframe sieht wie folgt aus und ich habe einige nicht relevante Zeilen und Spalten weggelassen.Wie ändere ich den ".." in meinem Datenrahmen?

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

Nachdem ich diese CSV-Datei zu lesen, möchte ich substitude ".." für "", so verwende ich den Code:

df3$GDP <- as.numeric(gsub("..", "", df3$GDP)) 

Es stellt sich heraus, dass die Zahlen gedreht 0 zu sein , 1, 2, ... und die „..“ eingeschaltet NA jedoch sein, wenn ich

df3$GDP <- as.numeric(gsub(",", "", df3$GDP)) 

verwenden sie dann auf OK, um es stellt sich heraus, weil die ursprünglichen Zahlen noch in der BIP-Spalte sind und Das ".." wurde in NA geändert. Ich kann nicht herausfinden, warum das passiert ist. Kannst du mir helfen ?

Antwort

2

Wir müssen entkommen (\\) die . wie es ein Metazeichen ist (die jedes Zeichen impliziert) die wörtliche Bedeutung des Zeichens zu erhalten.

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

Oder sonst fixed = TRUE

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

jedoch verwenden, die , kein metacharacter ist so brauchen wir nicht

zu entkommen
Verwandte Themen