
R语言
R语言学习与统计方法应用
niewzh
QQ:1468619361 添加请说明来意
展开
-
R语言图表导出png
【代码】R语言图表导出png。原创 2022-12-28 15:46:31 · 1317 阅读 · 0 评论 -
ggplot2 一页多图+共享图例
结果图:ggpubr包提供了方便的一页多图方法,并且提供了方便的共享图例方法。因为应用中,一个页面上多幅单一类型的图一般只需一个图例即可。参照以下代码:library(ggpubr)dsamp <- diamonds[sample(nrow(diamonds), 1000), ]p1 <- qplot(carat, price, data = dsamp, colour = clarity)p2 <- qplot(cut, price, data = d.原创 2021-08-19 20:40:41 · 5153 阅读 · 0 评论 -
R语言提取单个cru格点气象数据
inputpath <- 'data/cru_ts4.05.1901.2020.tmp.dat.nc'library(ncdf4) # package for netcdf manipulationlibrary(raster) # package for raster manipulationlibrary(rgdal) # package for geospatial analysislibrary(ggplot2) # package for plottingnc_data <.原创 2021-06-09 15:55:54 · 1000 阅读 · 0 评论 -
R语言数据基础离散化(分箱)之——手动定义间断点
R语言本身提供手动定义间断点进行离散化的函数 cut参数如下:cut(x,breaks,labels=NULL, include.lowest=FALSE,right=TRUE,dig.lab=3, ordered_result=FALSE,...)其示例代码如下:...原创 2021-06-08 22:22:13 · 1223 阅读 · 0 评论 -
R语言树轮数据可视化二——以contour图展示
一般而言,树轮数据多以折线图进行展示,清楚展示每条序列的变化,但序列一多通常难以比较。笔者尝试使用contour图进行展示,可以清楚的展示高低生长期。使用 filled.contour(x, y, z, levels, col) 函数对一个采样点的不同树芯宽度进行可视化,效果如下:其中横轴表示时间(年),纵轴表示不同树轮序列的宽度。可以看出,每条序列基本都存在先高生长后低生长的趋势。另外,不同序列的敏感性是不同的,需要标准化后进行进一步分析。全部代码如下:library(dplR)原创 2021-05-24 09:23:18 · 2490 阅读 · 1 评论 -
R语言提取单点的cru格点数据
以下以提取降水的cru格点数据为例,温度的数据类似。inputpath <- 'data/cru_ts4.05.1901.2020.pre.dat.nc' #文件存储路径library(ncdf4) # package for netcdf manipulationnc_data <- nc_open(inputpath)print(nc_data)# Save the print(nc) dump to a text file{ sink('ncdata.txt')原创 2021-05-23 22:39:43 · 1192 阅读 · 3 评论 -
r语言实现小波分析
实现效果左图为原始数据,右图为小波分析加显著性检测结果所需包:WaveletComp一、安装并加载WaveletComp包install.packages('WaveletComp')加载:library('WaveletComp')二、创造数据并执行小波分析及模拟series.length = 6*128*24x1 = periodic.series(start.period = 1*24, length = series.length)x2 = p..原创 2021-04-10 19:21:17 · 6764 阅读 · 3 评论 -
R语言netcdf格式数据读取与处理
在本教程中,我们将打开一些存储在netCDF文件中的地理空间数据。我们将选择感兴趣的变量和时间范围,并将数据导出到GeoTIFF,以便在R或其他地理空间软件中继续分析。(译者注:新手看可能不知道每个函数的用法,可以先根据文档仿写,记住即可,想要深入研究每个函数的用法,使用RStudio打开包帮助阅读即可)本文读取netcdf并可视乎数据的结果:NetCDF数据集示例首先,我们需要一些数据。作为一个例子,我们将使用北极地区植被绿色度趋势的一些数据。可通过以下链接从ORNL DAAC获取此数据:翻译 2021-04-10 16:46:50 · 12739 阅读 · 2 评论 -
气象数据处理——数据表重排列(长表宽表转换)
一、长表转换为宽表好多气象数据(如气象站点、格点等)是用长表存储的,其格式如下:长表格式常用于数据的存储,尤其对于多维数据的存储十分方便,然而并不利于数据分析。R语言tidyr包中的pivot_wider函数 可以将长表变为宽表,适用于将多个变量保存到了一列的情况。如上图示例,我们需要将表中数据转换成:每年(列)不同站点(行)的观测值,我们使用以下代码:d.tempwider <-d.monthtemp1 %>%pivot_wider(names_from = stat原创 2021-04-08 18:17:48 · 684 阅读 · 0 评论 -
R语言计算多变量两两之间的相关关系及显著性
当数据存储为data.frame格式时,我们通常先将其转为可以使用 PerformanceAnalytics 包之间求相关,并将结果可视化。chart.Correlation(dda, histogram=TRUE, pch=19)其中,dda 为data.frame格式的数据,要求数据格式为 numeric ,如果不是,要先转化...原创 2021-04-08 11:48:34 · 7948 阅读 · 1 评论 -
R语言读取.csv数据报错
示例:Error in nchar(x[is_na], type = "width") : invalid multibyte string, element 1出现读取数据报错,很多时候由数据读取默认的编码格式 与 数据本身的编码格式不同 引起的表格中,如果含有中文或中文符号,一般默认为 GBK 编码,而一边编程语言读取时 默认为 UTF-8 编码此时设置 读取数据编码为 GBK 即可:示例:read_csv('data/treeringTP.csv',locale=lo原创 2021-04-07 20:37:41 · 11933 阅读 · 1 评论 -
R语言将第一行作为列名
colnames(ClimateData)=ClimateData[1,]格式为:colnames(表名)=表名[1,]将第一列作为行名 类似:rownames(表名)=表名[,1]原创 2021-01-20 23:57:15 · 30285 阅读 · 1 评论 -
R语言DataFrame(数据帧)数据格式改为数值
使用as.numeric()即可将一行数据强制更改为数值,参加数值运算。e.g. 更改前:"2","2","2","2","2","2","2","2","2","2","2","2","2","2","2"更改后:2,2,2,2,2,2,2,2,2,2,2,2,2,2,2...原创 2021-01-20 23:01:02 · 5795 阅读 · 0 评论 -
R语言求取DataFrame(数据帧)多行/列平均值
在Excel 使用average先求取两格子的平均值,然后可以进一步拉两个格子求取整行/整列的平均值。这在R语言中使用rowMeans求取多行平均值,或colMeans求取多列平均值示例如下:#create data framedata <- data.frame(var1 = c(0, NA, 2, 2, 5), var2 = c(5, 5, 7, 8, 9), var3 = c(2, 7, 9, 9, 7)原创 2021-01-20 22:14:58 · 28829 阅读 · 0 评论 -
R语言在矢量地图上绘制分级设色散点图
实现效果:R语言中ggplot2包提供绘制地图、散点图的方法,是实现在矢量地图上绘制分级设色散点图核心包绘制多边形geom_polygon(data,aes,fill, colour) 绘制点 geom_point .....0、需要用到的包library(maptools) # 读取shp数据常用,可以将shp数据读取为SpatialPolygonsDataFrame 格式,为DataFrame(数据帧)子类,也称为空间多边形数据帧library(ggplot2) #绘图核...原创 2021-01-20 20:36:51 · 2228 阅读 · 0 评论 -
统计中的“不相关”与“线性无关”
以上思维导图,看完即可理解。下述是文字介绍。这二者是统计新手与老手都很容易混淆的两个概念,以下辨明一下:两变量“不相关”不相关是指二者互相独立,没有相关关系。注如森林里每棵树的树叶个数与村子里每个村民的体重...二者显然无关两变量“线性无关”线性这里单指直线,线性无关是指:没有一次函数关系。如果两变量是3次方的相关关系,这里也叫线性无关。其图示如下:‘可以看出,如果两变量不相关,则必有线性无关。反之则不一定。...原创 2020-12-19 10:43:13 · 5991 阅读 · 1 评论 -
R语言一页多图
一、一张图上添加不同的元素使用:par(new=TRUE)原创 2020-12-17 11:28:58 · 736 阅读 · 0 评论 -
R 语言实现 Superposed Epoch Analysis 时序叠加分析
一、安装并引用 “burnr” 包Superposed Epoch Analysis可以使用 “burnr” 包 来实现,首先安装 “burnr” 包:命令行输入:install.packages('burnr')其次将 burnr 包添加到引用:library(burnr)二、准备输入数据Superposed Epoch Analysis 的输入数据格式如下:1、 准备时间序列数据放入EXCEL,格式如下:之后,读入R,并修改行名称为年份:dat...原创 2020-12-17 11:26:23 · 2632 阅读 · 8 评论 -
R语言实现EMD分析
R语言实现EMD分析非常简单,使用EMD包即可。数据以frame存储时,只需要设置一列作为emd()函数的参数即可:remd=emd(all$runoff)remd即输出的所有IMF,同样以frame存储。可以直接导出为csv.原创 2020-12-13 18:04:44 · 2238 阅读 · 0 评论