2016-03-04 84 views
-1

我有一個DF如下IP地址映射中的R

A  IP  
Sam 1.0.0.9 

和我要地圖在下面的DF給這個IP的位置: 這是一個包含所有IP的相關信息

IP1  IP2   Location 
1.0.0.0 1.0.0.255 Queensland 
的sencond DF

我希望結果是這樣的

A  IP  Location 
Sam 1.0.0.9 Queensland 

地址爲1.0.0.9 1.0.0.0謊言之間& 1.0.0.255。 有什麼建議嗎?

+3

當然這不是一個代碼編寫服務網頁。你有嘗試過什麼嗎? – MaxPD

+0

'iptools'包有一些很棒的功能。 – Sotos

回答

1

使用iptools到IP地址轉換爲數值,

df$Location <- ifelse(ip_to_numeric(df$IP) >= ip_to_numeric(df1$IP1) & ip_to_numeric(df$IP) <= ip_to_numeric(df1$IP2),df1$Location, "NA") 
df 
# A  IP Location 
#1 Sam 1.0.0.9 Queensland 
+0

試過這個,但得到一個錯誤,稱爲「錯誤:期待一個字符串向量」。 –

+0

將您的'df $ IP'和'df1 $ IP1','df1 $ IP2'轉換爲字符 – Sotos