我正在尝试使用GGmap按州创建车辆撞车图。该地图将包含根据该州发生的车祸次数确定大小的点。
特别是,我试图重新创建此博客文章的可视化群集部分中所示的美国图解。。
但是,每当我尝试创建地图时,都会出现此错误。
Error in aperm.default(map, c(2, 1, 3)) :
invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)
我已经设置了Google API,并看到它收到了点击数。我也启用了它并拥有密钥。
另外,我使用以下命令从github帐户安装了GGmap:
devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
Run Code Online (Sandbox Code Playgroud)
由于CRAN尚未更新。
我也重新启动并退出了R,但错误仍然存在。
即使我只是简单地运行:
get_map()
Run Code Online (Sandbox Code Playgroud)
它仍然导致错误:
Error in aperm.default(map, c(2, 1, 3)) :
invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)
以下是我的代码,它类似于博客文章中的代码:
mydata$State <- as.character(mydata$State)
mydata$MV.Number = as.numeric(mydata$MV.Number)
mydata = mydata[mydata$State != "Alaska", ]
mydata = mydata[mydata$State != "Hawaii", ]
devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
library(ggmap)
ggmap::register_google(key = "...") #my key is here
for …Run Code Online (Sandbox Code Playgroud) 我想总结数据框中具有相同行键的行。
目的是缩小数据集的大小。
例如,如果数据框看起来像这样。
Fruit Count
Apple 10
Pear 20
Apple 5
Banana 7
Banana 12
Pear 8
Apple 10
Run Code Online (Sandbox Code Playgroud)
我希望最终的数据框看起来像这样。
Fruit Count
Apple 25
Pear 28
Banana 19
Run Code Online (Sandbox Code Playgroud)
我正在使用Python的pandas、numpy、matplotlib和其他数据分析包。有没有办法在 python 中使用这些包中的函数来做到这一点?
这是创建示例数据框的代码。
df = pd.DataFrame([["Apple", 10], ["Pear", 20], ["Apple", 5], ["Banana", 7], ["Banana", 12], ["Pear", 8], ["Apple", 10]], columns=["Fruit", "Count"])
Run Code Online (Sandbox Code Playgroud) 我有一个熊猫系列对象
<class 'pandas.core.series.Series'>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
userId
1 3072 1196 838 2278 1259
2 648 475 1 151 1035
3 457 150 300 21 339
4 1035 7153 953 4993 2571
5 260 671 1210 2628 7153
6 4993 1210 2291 589 1196
7 150 457 111 246 25
8 1221 8132 30749 44191 1721
9 296 377 2858 3578 3256
10 2762 377 2858 1617 858
11 527 593 2396 318 1258
12 3578 2683 2762 2571 2580
13 7153 150 …Run Code Online (Sandbox Code Playgroud) 标题很混乱,但问题很简单。
说我有一个像这样的元组列表:
d = [('said', 12), ('that', 12), ('electricity', 11), ('was', 10), ('the', 51), ('zealand', 9), ('for', 13), ('new', 12), ('power', 14), ('transmission', 14), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)
我想对列表进行排序,以便按值降序对其进行排序。但是,我希望领带按键字母顺序排序。
即,对于上面的列表,“新西兰”和“和”都具有相同的值。但是在排序的列表输出中,我希望“和”出现在“新西兰”之前。
我试着做
d.sort(key=operator.itemgetter(1, 0), reverse=True)
print(d)
Run Code Online (Sandbox Code Playgroud)
这给了我输出
[('the', 51), ('transmission', 14), ('power', 14), ('for', 13), ('that', 12), ('said', 12), ('new', 12), ('electricity', 11), ('was', 10), ('zealand', 9), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)
但是,元组('zealand', 9)出现('and', 9)在现实中之前,而我想出('and', 9)现在之前,('zealand', 9)因为“和”按字母顺序在“新西兰”之前。
什么是做这种类型的排序的最佳方法,在这种排序中,值的一个方向是反向的,而键的方向不是反向。
如果您需要更多信息,请告诉我。
感谢您的时间。
我想知道使用 R 计算两个美国邮政编码列之间的距离的最有效方法是什么。
我听说过用于计算邮政编码之间差异的 geosphere 包,但并不完全理解它,并且想知道是否还有其他方法。
例如说我有一个看起来像这样的数据框。
ZIP_START ZIP_END
95051 98053
94534 94128
60193 60666
94591 73344
94128 94128
94015 73344
94553 94128
10994 7105
95008 94128
Run Code Online (Sandbox Code Playgroud)
我想创建一个看起来像这样的新数据框。
ZIP_START ZIP_END MILES_DIFFERENCE
95051 98053 x
94534 94128 x
60193 60666 x
94591 73344 x
94128 94128 x
94015 73344 x
94553 94128 x
10994 7105 x
95008 94128 x
Run Code Online (Sandbox Code Playgroud)
其中 x 是两个邮政编码之间的英里差。
计算此距离的最佳方法是什么?
这是创建示例数据框的 R 代码。
df <- data.frame("ZIP_START" = c(95051, 94534, 60193, 94591, 94128, 94015, 94553, 10994, 95008), "ZIP_END" = …Run Code Online (Sandbox Code Playgroud)