小编Joc*_*hem的帖子

将地理坐标从度数转换为十进制

我想将地理坐标从度数转换为小数,我的数据如下:

         lat     long
105252 30°25.264 9°01.331
105253 30°39.237 8°10.811
105255 31°37.760 8°06.040
105258 31°41.190 8°06.557
105259 31°41.229 8°06.622
105260 31°38.891 8°06.281
Run Code Online (Sandbox Code Playgroud)

我有这个代码,但我不明白为什么它不起作用:

convert<-function(coord){
tmp1=strsplit(coord,"°")
tmp2=strsplit(tmp1[[1]][2],"\\.")
dec=c(as.numeric(tmp1[[1]][1]),as.numeric(tmp2[[1]]))
return(dec[1]+dec[2]/60+dec[3]/3600) 
} 
don_convert=don1
for(i in 1:nrow(don1)){don_convert[i,2]=convert(as.character(don1[i,2]));              don_convert[i,3]=convert(as.character(don1[i,3]))}
Run Code Online (Sandbox Code Playgroud)

转换函数有效,但我要求循环为我做的工作的代码不起作用.

任何建议都是适当的.

gis r

21
推荐指数
3
解决办法
2万
查看次数

如何在data.table中以编程方式选择列?

我有以下data.table(DT):

DT <- data.table(V1 = 1:3, V2 = 4:6, V3 = 7:9)
Run Code Online (Sandbox Code Playgroud)

我想通过使用存储相关变量名称的对象以编程方式(动态)选择变量的子集.例如,我想选择存储在变量"keep"中的两列"V1"和"V3"

keep <- c("V1", "V3")
Run Code Online (Sandbox Code Playgroud)

如果我们从data.frame中选择"保留"列,则以下内容将起作用:

DT[keep]
Run Code Online (Sandbox Code Playgroud)

不幸的是,当这是data.table时,这不起作用.我认为data.frame和data.table与这种行为相同,但显然它们不是.有人能提供正确的语法建议吗?

r dataframe data.table

13
推荐指数
1
解决办法
2万
查看次数

如何从R中的城市名称和国家/地区获取经度和纬度坐标?

我有一长串的城市名称和国家/地区,我想在地图上绘制它们.为了做到这一点,我需要每个城市的经度和纬度信息.

我的表被调用test并具有以下结构:

Cityname  CountryCode
New York  US
Hamburg   DE
Amsterdam NL
Run Code Online (Sandbox Code Playgroud)

maps r openstreetmap rjsonio

11
推荐指数
3
解决办法
2万
查看次数

R中前三个值的移动平均值

在动物园包中有一个名为rollmean的函数,它可以让你移动平均值.所述rollmean(x,3)将采取先前,当前和下一值(即4,6和2)在下面的表中.这显示在第二列中.

x   rollmean    ma3
4       
6   4.0 
2   4.3 
5   3.0         4.0
2   6.3         4.3
12  6.0         3.0
4   6.0         6.3
2               6.0
Run Code Online (Sandbox Code Playgroud)

我想完成相同的工作,但是通过平均排除第四行中的前三个值.这显示在第三列中.谁能告诉我有助于实现这一目标的功能名称?

r moving-average zoo

11
推荐指数
3
解决办法
2万
查看次数

从R命令行执行脚本时出现问题错误信息:找不到指定的路径

我一直在尝试执行一个简单的测试.R

setwd("C:\Users\jdd\Documents")
test <- 2*6598
filename = "test.csv"
write.csv(test,file=filename)
Run Code Online (Sandbox Code Playgroud)

通过Windows中的以下命令行命令:

"C:\Program Files\R\R-2.15.2\bin\R.exe" CMD BATCH   --vanilla --slave "C:\Users\jdd\Documents\test.R"
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时,我收到以下错误:

The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)

我一直在尝试根据提供的错误消息找出解决方案,但到目前为止失败了.想知道是否有人可以帮助我,所以我可以直接从命令行执行脚本.谢谢

command-line r

10
推荐指数
1
解决办法
8121
查看次数

使用R的时间序列预测

我有以下R代码

library(forecast)
value <- c(1.2, 1.7, 1.6, 1.2, 1.6, 1.3, 1.5, 1.9, 5.4, 4.2, 5.5, 6, 5.6, 
6.2, 6.8, 7.1, 7.1, 5.8, 0, 5.2, 4.6, 3.6, 3, 3.8, 3.1, 3.4, 
2, 3.1, 3.2, 1.6, 0.6, 3.3, 4.9, 6.5, 5.3, 3.5, 5.3, 7.2, 7.4, 
7.3, 7.2, 4, 6.1, 4.3, 4, 2.4, 0.4, 2.4)

sensor<-ts(value,frequency=24)
fit <- auto.arima(sensor)
LH.pred<-predict(fit,n.ahead=24)
plot(sensor,ylim=c(0,10),xlim=c(0,5),type="o", lwd="1")
lines(LH.pred$pred,col="red",type="o",lwd="1")
grid()
Run Code Online (Sandbox Code Playgroud)

结果图是 预测

但我对预测并不满意.有没有办法让预测看起来与之前的价值趋势相似(见图表)?

regression r time-series linear-regression forecasting

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

postgresql将结构化数据插入jsonb

我使用 PostgreSQL 10.11 并且希望将以下结构输入 jsonb 字段:

{
 lead: {
    name: string,
    prep: boolean
 },
 secondary: {
   {
       name: string,
        prep: boolean
    },
    {
        name: string,
        prep: boolean
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,lead 是一个带有 name 和 prep 的对象, secondary 是一个包含 name 和 prep 的数组。我怎样才能做到这一点?下面的脚本是创建一个带有 jsonb 字段的表:

CREATE TABLE public.test01 (
  name JSONB DEFAULT '{}'::jsonb NOT NULL
) 
WITH (oids = false);

ALTER TABLE public.test01
  ALTER COLUMN id SET STATISTICS 0;

COMMENT ON COLUMN public.test01.name
IS '''[]''';


ALTER TABLE public.test01
  OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)

我正在尝试此插入但出现错误: …

sql postgresql json sql-insert jsonb

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

如何在多层次结构中使用"hts"?

我正在预测大量的时间序列(5,000+).如果我在更高级别进行预测,然后将预测分配到每个SKU,我想使用分层方法执行此操作.我认为有必要这样做,以便放大到较低的地理细节水平,同时在更高的层次(自上而下)进行预测.

例如,下面您将看到我正在考虑的结构示例.

Total
  => Europe
     => Netherlands
        => RegionA
           => Client_A_in_Netherlands
              => SKU1
              => SKU2
              => SKU3
           => Client_Q_in_Netherlands
              => SKU15
     => Germany1
        => (...)
           => ClientY_in_Germany
              => SKU89
  => Africa
     => South Africa
        => (...)
           => Client_Z_in_SouthAfrica
              => SKU792
Run Code Online (Sandbox Code Playgroud)

我想在大陆层面(即欧洲或非洲)层面做自上而下的预测.然后将适当的份额分配给国家/地区,然后分配给该国家/地区的客户,然后分配给SKU.

在'hts'包的文档中,有一个关于如何使用两级层次结构执行此操作的示例.我想知道是否有人可以建议如何使用多级层次结构来做到这一点?

r time-series hierarchy forecasting

6
推荐指数
1
解决办法
2628
查看次数

计算两个日期之间的每月天数

我有一组事件,每个事件都有一个开始和结束日期,但它们发生在几个月的范围内.我想创建一个表格,显示每个月的活动天数.

我有以下示例.

event_start_date <- as.Date("23/10/2012", "%d/%m/%Y")
event_end_date   <- as.Date("07/02/2013", "%d/%m/%Y")
Run Code Online (Sandbox Code Playgroud)

我希望得到一个表格如下:

Oct-12  8
Nov-12  30
Dec-12  31
Jan-13  31
Feb-13  7
Run Code Online (Sandbox Code Playgroud)

有没有人知道这样做的聪明而优雅的方法,还是创建一个循环系统唯一可行的方法?

Jochem

r date intervals

5
推荐指数
1
解决办法
1044
查看次数

如何使用QlikView加载RData文件?

有人知道用QlikView加载RData文件吗?我想这样做的原因是我在R中有一个大型数据集,我想用QlikView交互式分析.此外,使用write.csvR中的函数存储数据需要很长时间.

r qlikview

5
推荐指数
1
解决办法
899
查看次数