2016-03-04 59 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