gpt4 book ai didi

r - 无法获取推文的纬度和经度值

转载 作者:行者123 更新时间:2023-12-04 09:37:51 25 4
gpt4 key购买 nike

我这样做收集了一些推特数据:

#connect to twitter API
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)

#set radius and amount of requests
N=200 # tweets to request from each query
S=200 # radius in miles

lats=c(38.9,40.7)
lons=c(-77,-74)

roger=do.call(rbind,lapply(1:length(lats), function(i) searchTwitter('Roger+Federer',
lang="en",n=N,resultType="recent",
geocode=paste (lats[i],lons[i],paste0(S,"mi"),sep=","))))

之后我做了:

rogerlat=sapply(roger, function(x) as.numeric(x$getLatitude()))
rogerlat=sapply(rogerlat, function(z) ifelse(length(z)==0,NA,z))

rogerlon=sapply(roger, function(x) as.numeric(x$getLongitude()))
rogerlon=sapply(rogerlon, function(z) ifelse(length(z)==0,NA,z))

data=as.data.frame(cbind(lat=rogerlat,lon=rogerlon))

现在我想获取所有具有 long 和 lat 值的推文:

data=filter(data, !is.na(lat),!is.na(lon))
lonlat=select(data,lon,lat)

但现在我只得到 NA 值....对这里出了什么问题有什么想法吗?

最佳答案

作为Chris提到过,searchTwitter 不会返回推文的经纬度。您可以通过转到 twitteR 来查看。文档,它告诉我们它返回一个 status 对象。

状态对象

向下滚动到状态对象,您可以看到包含 11 条信息,但经纬度不是其中之一。然而,我们并没有完全迷路,因为返回了用户的屏幕名称。

如果我们查看用户对象,我们会发现用户的对象至少包含一个位置。

所以我至少可以想到两种可能的解决方案,具体取决于您的用例。

解决方案 1:提取用户的位置

# Search for recent Trump tweets #
tweets <- searchTwitter('Trump', lang="en",n=N,resultType="recent",
geocode='38.9,-77,50mi')

# If you want, convert tweets to a data frame #
tweets.df <- twListToDF(tweets)

# Look up the users #
users <- lookupUsers(tweets.df$screenName)

# Convert users to a dataframe, look at their location#
users_df <- twListToDF(users)

table(users_df[1:10, 'location'])

❤ Texas ❤ ALT.SEATTLE.INTERNET.UR.FACE
2 1 1
Japan Land of the Free New Orleans
1 1 1
Springfield OR USA United States USA
1 1 1

# Note that these will be the users' self-reported locations,
# so potentially they are not that useful

解决方案 2:有限半径内的多次搜索

另一种解决方案是进行一系列重复搜索,以较小的半径增加纬度和经度。这样您就可以相对确定用户就在您指定的位置附近。

关于r - 无法获取推文的纬度和经度值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com