小编Ari*_*ant的帖子

R:从栅格对象计算窗台,范围和块

我需要从栅格图层计算窗台,范围和块金.我已经探索了gstat,usdm包,其中可以创建变异函数但是我找不到给定栅格图层估计这些参数的函数.在大多数函数中,这些参数必须被定义,例如.krigging.

我有不同高度的栅格数据层,看起来类似于 在此输入图像描述

我想从半变异函数的参数到这些数据层得到窗台,金块和范围,以创建类似于此的图:在此输入图像描述

原始数据层在此处可用作多频带tiff.下面是从一个数字纸张这进一步说明了这一概念.

在此输入图像描述

r geospatial r-raster covariogram

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

整个数据集的回归线以及基于R ggplot2中的组的回归线?

我是ggplot2的新手,并且有问题显示整个数据集的回归线以及组的回归线.到目前为止,我可以基于该组绘制回归线,但我没有成功获得同一图上整个数据集的回归线.我想要所有具有不同线条样式的回归线,以便可以在黑白打印中轻松识别它们.任何帮助将受到高度赞赏.这是我目前的代码:

ggplot(alldata,aes(y = y, x = x, colour= group, shape= group )) +
geom_point(size = 3, alpha = .8) + geom_smooth(method="lm", fill=NA , size = 1) 
Run Code Online (Sandbox Code Playgroud)

regression r line ggplot2

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

R:rworldmap地图问题和传单申请

我已经制作了一个传单地图,以在R传单网络地图上覆盖某些国家/地区,但是投影/布局似乎出了点问题,俄罗斯的一部分发现了它在相邻框架中的位置。 在此处输入图片说明

代码:

library(rworldmap)
library(countrycode)



## country is in text 
cnt <- c("Russia","Afghanistan", "Albania"," Algeria"," Argentina","   Armenia", "Azerbaijan"," Bangladesh"," Belarus")


#convert to ISO3 code
iso3 = countrycode(cnt, "country.name", "iso3c")

df= as.data.frame(cnt)
malMap <- joinCountryData2Map(df, joinCode = "ISO3", nameJoinColumn = "cnt")

## subset data
dfapr <- malMap[malMap$ISO3 %in% iso3, ]
plot(dfapr)
Run Code Online (Sandbox Code Playgroud)

此问题的主要结果是,如果要制作网络地图,它将看起来像这样:在此处输入图片说明

我们如何解决这个问题。是任何低分辨率的世界地图,在其中我们可以根据ISO代码选择国家/地区,并且在几何上更加一致。

r leaflet rworldmap

4
推荐指数
1
解决办法
1031
查看次数

在R中的表中添加额外的列名和行名?

我有一个我从table()函数生成的表,我进一步使用xtable打印它如下:

          FF NF NN Sum
     FF   8  0  0   8
     NF   7  8  0  15
     NN   3  1  4   8
Run Code Online (Sandbox Code Playgroud)

我想以下面的格式添加一个额外的列名和一个rowname.

           Time2
   Time1 FF NF NN Sum
     FF   8  0  0   8
     NF   7  8  0  15
     NN   3  1  4   8
Run Code Online (Sandbox Code Playgroud)

我看了xtable但找不到任何东西.colnames()更改现有列的名称,rownames()对rownames执行相同操作.

formatting r xtable

3
推荐指数
1
解决办法
4074
查看次数

R:使用普通图例比例分别绘制和保存rasterbrick图层

我有一个多波段rasterbrick对象,正在寻找一种有效的解决方案,以.jpg格式分别绘制和保存每个对象。我不能使用spplot()或levelplot(),因为该对象具有100层。

目前,我计划将每个图层编写为单独的.tiff并使用Arcgis进行绘制。是我正在处理的图层。

plot r raster r-raster

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

JSON到R中的数据帧

我有一个带有158行和25列JSON格式的文本/ html文件,我一直在尝试将其转换为数据帧,以便我可以在.csv中编写它.我试过"rjson"和"jsonlite"包来读取数据,然后用两种方法将它转换成数据表

  1. 使用

     library(jsonlite) 
     json_file = "projectslocations.html"
     json_datan <- fromJSON(json_file)
    
    Run Code Online (Sandbox Code Playgroud)

数据结构只有一行,包含158个变量

2.使用jsonlite和data.table

      library(jsonlite)
      library(data.table)
      json_dat <- fromJSON(json_file)
      class(json_dat)
      lst= rbindlist(json_dat, fill=TRUE)
Run Code Online (Sandbox Code Playgroud)

这显示了包含158行和25个变量的data.frame.但是我不能在csv中写这个数据帧甚至查看数据帧.

错误:

 Error in FUN(X[[i]], ...) : 
 Invalid column: it has dimensions. Can't format it. If it's the result of         data.table(table()), use as.data.table(table()) instead.
Run Code Online (Sandbox Code Playgroud)

原始数据可在此处获得

json r dataframe data.table

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

如何在R中分别分割字符和数字

我有一个如下所示的数据框:

df= data.frame(name= c("1Alex100.00","12Rina Faso92.31","113john00.00"))
Run Code Online (Sandbox Code Playgroud)

我想将其拆分为一个包含3列的数据框,以便输出如下所示:

name1 name2      name3
1     Alex       100.00
12    Rina Faso  92.31
113   john       00.00
Run Code Online (Sandbox Code Playgroud)

我尝试过stringr()和grep()并且成功有限.缺少分隔符会使其变得更加困难.

regex r

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

两年值之间的比率

我有一个带有值列和相应年份的数据框。我想创建一个额外的列,其中应包含以5年为间隔的年份的价值比率,向后倒退。例如 如果年份是2000,则'newval'列应具有2000和1995年的值比率。我的数据框如下所示。可能缺少年份,并且“值”和“年份”列中都没有数据。

df2 = data.frame(code = c("AFG", "AGO", "ALB", "AND", "ARB", "ARE", "ARG", "ARM", "ASM", "ATG", "AUS", "AUT","AUT"),
            val = c(123, 42, 23, 5, 42, 4, 23, 25, 42, 23, NA, 5563,56), 
            Year = c(1990, 1991, 1992, 1993, 1991, 1995, 1996, 1997, 1991, 1992, 2000, 2001,2002))
Run Code Online (Sandbox Code Playgroud)

最终数据集应如下所示

 df2 = data.frame(code = c("AFG", "AGO", "ALB", "AND", "ARB", "ARE", "ARG", "ARM", "ASM", "ATG", "AUS", "AUT","AUT"),
             val= c(123, 42, 23, 5, 42, 4, 23, 25, 42, 23, NA, 5563,56),
             Year = c(1990, 1991, …
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr data.table tidyr

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