将long/lat代码从R(sp pkg)转换为Python

2024-10-03 17:18:39 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次在Stack Overflow中提问,希望我提供了足够的信息

Spyder 3.2.3 Windows 10上的Python 3.6.2 64位、Qt 5.6.2、PyQt5 5.6

我已经用R编写了代码,用Long/Lat识别和映射集群

我现在的任务是将它翻译成Python语言,我甚至还不是初学者(harldy会拼写Python吗,哈哈

以下是示例数据: 实际记录数=2350,其他非必要列用于我的即时问题需求

x <- tmp1[,c(4)]
head(x,n=15)

-79.86286-81.47581-73.99576-91.58647-82.05398-76.72366-87.31574-122.73485-89.61309-87.70185-70.97230-73.79628-73.74651-96.82385-112.01015

y <- tmp1[,c(5)]
head(y,n=15)

40.43981 31.21329 40.80918 42.07720 26.77963 39.95549 41.51222 42.37320 39.84502 42.07626 42.37230 41.21192 40.70294 32.41051 41.52537

这是流程的第一步,也是我遇到的第一个错误: 在Spyder中,我得到了这个“冒号”错误

xy = r.SpatialPointsDataFrame(matrix(c(x,y), ncol=2), 
     r.data.frame(ID = r.seq(1:length(x))),
     proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))

此处错误:语法错误:无效语法 数据帧(ID=seq(1:length(x))

我阅读了许多帮助链接中的一个
Getting a Colon Syntax Error in Python

在R中,它看起来像这样:

xy <- SpatialPointsDataFrame(matrix(c(x,y), ncol=2), data.frame(ID=seq(1:length(x))),
                         proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))

我试过使用&;w/o:,使用a,1号

我已经检查了许多链接,试图通过这第一步,但没有找到解决办法

我试着把它一块一块地解析出来,当然也会遇到其他错误

r.data.frame(ID = r.seq(1:length(x)))

SyntaxError:无效语法

xy = r.SpatialPointsDataFrame(matrix(c(x,y), ncol=2), 
r.data.frame(ID = r.seq(1:length(x))),
proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84"))

AttributeError:“R”对象没有属性“SpatialPointsDataFrame”

https://rdrr.io/r/base/seq.html

xy = r.SpatialPointsDataFrame(matrix(c(x,y), ncol=2))

AttributeError:“R”对象没有属性“SpatialPointsDataFrame”

proj4string=r.CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")
proj4string=robjects.CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")
proj4string=r.CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")

AttributeError:模块“rpy2.robjects”没有属性“CRS”

proj4string = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")

NameError:未定义名称“CRS”

我相信我已经遵循了使用rpy2在Python中使用R的所有准备步骤: 导入rpy2,然后导入R https://rpy2.github.io/doc/latest/html/robjects_rpackages.htmlhttps://rpy2.github.io/doc/v3.1.x/html/_modules/rpy2/robjects/packages.html

在python中使用R

import rpy2
print(rpy2.__version__)

3.3.3

https://rpy2.github.io/doc/latest/html/introduction.html 获取必要的工具

import rpy2.robjects as robjects

from rpy2.robjects import DataFrame, Formula

import rpy2.robjects.packages as rpackages

from rpy2.robjects.packages import importr  

from rpy2.robjects import r   

utils = rpackages.importr('utils')

utils.chooseCRANmirror(ind=1)  
base = importr('base')

rpy2 - 'R' object has no attribute 'nls' 仅限备选方案

base = importr('base', robject_translations={'with': '_with'})

base

rpy2.robjects.packages.Package作为

stats = importr('stats')

仅限备选方案

stats = importr('stats', robject_translations={'format_perc': '_format_perc'})

stats

rpy2.robjects.packages.Package作为

packnames = ('ggplot2', 
'usmap','geosphere','sp','rdgal','ggmap','maps','mapdata','ggcorrplot','reshape2','dplyr'
         ,'magrittr''devtools','proj4')

from rpy2.robjects.vectors import StrVector

utils.install_packages(StrVector(packnames))

唯一的选择:我还没有用过这个

names_to_install = [x for x in packnames if not rpackages.isinstalled(x)]
if len(names_to_install) > 0:
utils.install_packages(StrVector(names_to_install))

https://rpy2.github.io/doc/latest/html/pandas.html

from rpy2.robjects.conversion import localconverter

from rpy2.robjects import pandas2ri

https://pandas.pydata.org/pandas-docs/version/0.22.0/r_interface.html

pandas2ri.activate()
import rpy2.robjects as ro

我希望有人能给我一些指导

多谢各位

WHP


Tags: httpsimportpackageshtmlseqprojwgs84rpy2