我开始了一个"免费"的开源项目,为地球海洋的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脚本中工作,但不是那些专家....
需要帮助以加快此代码!
目标是创建一个数据帧,其中第一个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列表和第一列上的时间戳列表.
目标是重新创建我在电子表格示例中添加的内容,但是数百万行!
谢谢, …