小编Sim*_*ult的帖子

海洋纬度经度点距离岸边

我开始了一个"免费"的开源项目,为地球海洋的pH值创建一个新的数据集.

我从NOAA的开放数据集开始,使用这些列创建了一个2.45百万行的数据集:

colnames(NOAA_NODC_OSD_SUR_pH_7to9)
[1] "Year"  "Month" "Day"   "Hour"  "Lat"   "Long"  "Depth" "pH"   
Run Code Online (Sandbox Code Playgroud)

方法文件HERE.

数据集在这里.

我现在的目标是"限定"每一行(2.45米)......为此,我需要计算从纬度/长度的每个点到最近岸的距离.

所以我正在寻找一种方法:拉/长出:距离(距岸边公里)

有了这个,我可以确定数据点是否会受到岸上污染的影响,例如附近的城市污水.

我已经找到了一种方法来做到这一点,但似乎都需要我没有的软件包/软件.

如果有人愿意帮忙,我将不胜感激.或者,如果你知道一个简单(免费)的方法来实现这一目标,请告诉我...

我可以在R编程,Shell脚本中工作,但不是那些专家....

google-maps r geolocation latitude-longitude

7
推荐指数
1
解决办法
2289
查看次数

累计总计30行.慢代码需要改进

需要帮助以加快此代码!

目标是创建一个数据帧,其中第一个DF的TPS(每秒事务数):TPS_Jan7_11h_13h_CheckIMEI将从记录1到30累积,然后重置为0并再次执行此操作.

这是图形形式的样子:

https://docs.google.com/spreadsheets/d/1-286za99C5gdHLDErR9B4ZazVrZFFINGaH3xzVMghFk/edit?usp=sharing

我的数据集有超过600万行......

我开始创建一个序列,我需要将我的累积变量重置为0.然后我浏览完整的数据集,只需添加上一个值.

我已经在四码x64 8gig机器上运行了几个小时并仍在运行......所以...疯狂的慢!

任何想法如何加快这一点?表格的子集或魔法?

这是代码:

# Create a sequence of when to reset the cumulative TPS
TPS_Jan7_11h_13h_CheckIMEI_seq30 <- seq(from = 1,nrow(TPS_Jan7_11h_13h_CheckIMEI),by = 30)

# Initialize Dataframe
TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30 <- data.frame(matrix(ncol = 3, nrow = nrow(Jan7_11h_13h_CheckIMEI)))
colnames(TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30) <- c("CumulTPS","100%","130%")
TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30[2] = 1000*30
TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30[3] = (1000*30)*1.3


CumulVal = 0
TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30$CumulTPS[1] = TPS_Jan7_11h_13h_CheckIMEI$TPS[1]

for(i in 2:nrow(Jan7_11h_13h_CheckIMEI)) {
  CumulVal = CumulVal + TPS_Jan7_11h_13h_CheckIMEI$TPS[i-1]
  TPS_Jan7_11h_13h_CheckIMEI_CumulTPS30$CumulTPS[i] = CumulVal
  # print(CumulVal)
  if (i %in% TPS_Jan7_11h_13h_CheckIMEI_seq30) CumulVal = 0
}
Run Code Online (Sandbox Code Playgroud)

TPS DF只是TPS列上的TPS列表和第一列上的时间戳列表.

目标是重新创建我在电子表格示例中添加的内容,但是数百万行!

谢谢, …

r

0
推荐指数
1
解决办法
188
查看次数

标签 统计

r ×2

geolocation ×1

google-maps ×1

latitude-longitude ×1