用R语言做面板数据回归
用R语言做面板数据回归:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123library(plm)library(psych)library(xts)library(tseries)library(lmtest) ## import datasetdatas<-read.table("data.txt",header =TRUE) ## adf testpcgdp<-xts(datas$PCGDP,as.Date(datas$year))adf.test(pcgdp)# result: ...
用ggplot2镜像密度图
密度图是数值变量分布的表示。比较
2 个变量的分布是一个常见的挑战,可以使用镜像密度图来解决:2 个密度图面对面放置,可以有效地比较它们。这是使用ggplot2库构建它的方法。
geom_density由于ggplot2的 geom 构建了密度图(参见基本示例)。通过指定可以倒置绘制此密度y = -..density..。建议使用geom_label来表示变量名。
12345678910111213141516171819202122# Librarieslibrary(ggplot2)library(hrbrthemes)# Dummy datadata <- data.frame( var1 = rnorm(1000), var2 = rnorm(1000, mean=2))# Chartp <- ggplot(data, aes(x=x) ) + # Top geom_density( aes(x = var1, y = ..density..), fill="#69b3a2" ) + geom_label( aes(x=4.5, ...
具有多个层次结构的基本圆形包装图
圆形包装代表一个层次:最大的圆(层次的原点)包含几个大圆(第1层的节点),其中包含较小的圆(第2层)等等。最后一层称为叶子。
输入数据是节点之间的边列表。它应该看起来或多或少像旁边的桌子。此外,我们通常将此表与另一个为每个节点提供特征的表一起提供。
最基本的圆形包装ggraph
该ggraph软件包使从边缘列表构建圆形包装变得轻而易举。这是一个基于flare包提供的数据集的示例。
第一步是借助包的graph_from_data_frame()功能将数据框转换为图形对象igraph。然后,ggraph提供geom_node_circle()将构建图表的功能。
123456789101112131415161718# Librarieslibrary(ggraph)library(igraph)library(tidyverse) # We need a data frame giving a hierarchical structure. Let's consider the flare dataset:edges <- flare$edges # Usuall ...
几个有趣的R代码
此图代表我的心
n=50000; r=0.7;r_e=(1-r*r)^.5; X=rnorm(n); Y=X*r+r_e*rnorm(n); Y=ifelse(X>0,Y,-Y); plot(X,Y,col="pink")
几个有趣的R代码
R语言脚本,有趣的图
我心因你而有爱
n=50000; r=0.7;r_e=(1-r*r)^.5; X=rnorm(n); Y=X*r+r_e*rnorm(n); Y=ifelse(X>0,Y,-Y); a<-sample(c(2,6,7,8),50000,T) b<-sample(c(76,79,86,69),50000,T) plot(X,Y,col=0) text(X,Y,"lOVE",col=a)
此图太猥琐了,运行结果就不贴上了
xrange = c(-15, 15) yrange = c(0, 16) plot(0, xlim = xrange, ylim = yrange, type = "n") #plot(xran ...
DKM_1.3---CCM收敛交叉映射
今日更新DKM_1.3,版本更新内容:CCM收敛交叉映射、两阶段嵌套泰尔指数、三阶段嵌套泰尔指数。此前嵌套泰尔指数分解是单独的脚本,这次一并合并到DKM_1.3中。
目前因果检验常用的格兰杰因果检验,主要是依据时间序列的预测能力来识别序列之间的因果关系。如,我们有一个模型来预测时间序列Y,如果在模型中移除时间序列X,则模型对Y的预测能力大大降低,此时可以说X是Y的一个原因。
但是,格兰杰因果检验的前提是时间序列之间要满足可分离性,这就要求系统之间,各变量是纯随机的,或者线性的。但是,有些系统中,各个时间序列之间彼此依赖,并不能分离,又或者彼此之间是弱耦合的,这时格兰杰因果检验就不再适用。
针对这个问题,Sugihara等(2012)在Detecting Causality in Complex
Ecosystems这篇文章中,提出了CCM收敛交叉映射算法。
具体做法如下:
假设有X和Y两个时间序列如下:
{X} = { X(1) ,X(2) ,X(3) ,…,X(L) }
{Y} = { Y(1) ,Y(2) ,Y(3) ,…,Y(L) }
分别构造X和Y的影子流形M ...
用R语言做圆形条形图
圆形条形图是一种条形图,其中条形图沿圆形而不是线显示。本页旨在教您如何制作带有组的圆形条形图。
第一步是建立一个圆形的条形图,圆圈中有一个中断。实际上,我只是在初始数据框的末尾添加了几行空行:
12345678910111213141516171819202122232425262728293031323334353637383940# 图1library(tidyverse) # Create datasetdata <- data.frame( individual=paste( "Mister ", seq(1,60), sep=""), value=sample( seq(10,100), 60, replace=T)) # Set a number of 'empty bar'empty_bar <- 10 # Add lines to the initial datasetto_add <- matrix(NA, empty_bar, ncol(data))colnames(to_add) ...
用R语言做分组核密度图
多密度图是表示多个组的密度图。它允许比较它们的分布。这种图表的问题在于它很容易变得混乱:组相互重叠并且图形变得难以阅读。
一个简单的解决方法是使用透明度。但是,它不能完全解决问题,通常最好考虑本文档中进一步建议的示例。
不透明的分组核密度图:
1234567891011121314# 图1library(ggplot2)library(hrbrthemes)library(dplyr)library(tidyr)library(viridis)# Without transparency (left)p1 <- ggplot(data=diamonds, aes(x=price, group=cut, fill=cut)) + geom_density(adjust=1.5) + theme_ipsum()p1
图1
透明的分组核密度图:
1234p2 <- ggplot(data=diamonds, aes(x=price, group=cut, fill=cut)) + geom_density(adjust=1.5, ...
最基本的桑基图
桑基图(Sankey
diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,右图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew
Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。
桑基图表示流,即从一个节点到另一个节点的加权连接。输入数据可以以
2 种不同的格式存储:
连接数据框(3 列)
关联矩阵(方阵)
这篇文章描述了如何从这两种类型的输入构建一个基本的桑基图。
代码如下:
12345678910111213141516171819202122232425262728293031# Librarylibrary(networkD3)library(dplyr) # A connection data frame is a list of flows with intensity for each flowlinks <- data.frame( source=c("group ...
使用ggplot2添加文本标签
这里演示如何使用geom_text()将文本添加为标记。它的工作原理与geom_point()几乎相同,但添加的是文本而不是圆圈。
label: 你想显示什么文本
nudge_x和nudge_y: 沿 X 和 Y
轴移动文本
check_overlap尽量避免文本重叠。请注意,一个名为的包ggrepel进一步扩展了这个概念
代码如下:
1234567891011121314#图1 基本图library(ggplot2) # Keep 30 first rows in the mtcars natively available datasetdata=head(mtcars, 30) # 1/ add text with geom_text, use nudge to nudge the textggplot(data, aes(x=wt, y=mpg)) + geom_point() + # Show dots geom_text( label=rownames(data), nudge_x = 0.25, nudge_y = 0.25, ...
利用R语言绘制小提琴图加箱线图
小提琴图加箱线图的代码,如下:
123456789101112131415161718192021222324252627282930# Librarieslibrary(ggplot2)library(dplyr)library(hrbrthemes)library(viridis)# create a datasetdata <- data.frame( name=c( rep("A",500), rep("B",500), rep("B",500), rep("C",20), rep('D', 100) ), value=c( rnorm(500, 10, 5), rnorm(500, 13, 1), rnorm(500, 18, 1), rnorm(20, 25, 4), rnorm(100, 12, 1) ))# sample sizesample_size = data %>% group_by(name) %>% summarize(num=n() ...



