R包安装时提示“退出状态的值不是0”
在安装R包的arulesViz包的时候,总是失败,最后的提示就是这个错误。当时没有截图,大家知道我说的是这个就好了。
总结一下我的解决之路:
1、把R和rstudio都卸载,换上最新版本
2、把之前安装下载的R包,找到那个缓存路径,就是C盘中的downloaded_packages,里面内容全部删除。
3、重新安装aruleViz包,中间有个弹窗,选择否!!!
安装完毕,可以愉快地使用了。
三行R代码搞定山脊图绘图
有时候我们对比几组数据的分布情形,需要把几组数据的分布叠加在一起,这就用到山脊图了。
今天带来一个最简单的山脊图绘图教程。所需要的数据是这样:
原始数据
非常简单,一列是数据,一列是年份。然后我们导入包ggridges和ggplot2,并读取数据:
123library("ggplot2")library("ggridges")df <- read.csv('G:/test1.csv')
然后使用ggplot和geom_density_ridges这两个函数来绘图:
123df %>% ggplot(aes(x = Score, y = year,group=year)) + geom_density_ridges()
效果如下:
这里的数据,其实是2006年到2019年,这里的刻度是默认的形式,已经很美观,如果想自定义,可以这样做:
1234567dd<-df %>% ggplot(aes(x = Score, y = year,group=year)) + geo ...
用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: s ...
用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, y=0 ...
具有多个层次结构的基本圆形包装图
圆形包装代表一个层次:最大的圆(层次的原点)包含几个大圆(第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 # Usually we ...
几个有趣的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语言脚本,有趣的图
我心因你而有爱 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") ...
用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, alpha= ...
最基本的桑基图
桑基图(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_A",&q ...
使用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, check_ ...