R learning 十八讲 0018-R语言绘图基础

2023-10-30

0018-R语言绘图基础


  1. 2020-07-29更新:使用代码块,看起来更方便、更改了第6节;

这次不介绍如ggplot2等绘图包, 只记录一些R基础就能实现的东西~

跟着我爪子敲一遍,相信你会有收获!

有用的话请点赞收藏┗|`O′|┛ 嗷~~

能点个大大的关注就更感谢了 !! Orz~


目录:

  1. plot绘图基础
  2. boxplot-箱线图
  3. 使用plot函数一样可以绘制箱线图(boxplot)
  4. plot来绘制Dataframe信息
  5. pairs函数绘制matrix和Dataframe
  6. coplot函数绘制协同图
  7. hist绘制直方图
  8. dotchart绘图
  9. axes-边框控制
  10. log参数,对数据取对数
  11. type参数-点的类型
  12. 图的标注xlab ylab main sub
  13. points加点函数
  14. line-加线函数
  15. par函数
  16. 使用par与lwd
  17. text函数添加标记
  18. abline-绘制参考线
  19. polygon-给图加上多边形
  20. title函数给图形加标题
  21. axis-控制坐标轴
  22. xlim与ylim-坐标轴的取值范围

 

!!!多图

流量预警

tips:

- "##"代表output

-"#"代表注释


1. plot绘图基础

x <- c(1,2,3,4)
y <- c(5,1,2,9)
plot(x,y)

 

plot(x)

 

  • 使用plot绘制factor
y <- factor(c("a","b","c","b","a","a","a","C","c"))
plot(y)

 

a <- sample(c("a","b","c"), 10, replace=T)
a 
##  [1] "b" "b" "c" "a" "b" "b" "a" "a" "b" "b"
f <- factor(a) 
f
##  [1] b b c a b b a a b b
## Levels: a b c
plot(f)


2. boxplot

 

 

举个栗子

par(mfrow=c(1,3))
a <- sample(1:100, 100, replace = T)
a
##   [1]  30  73  45  64  62  52  79  72  82  10  28  46  90  99   1  89  24  32
##  [19]  74  97  47  55  19  20  64  10  36   7  87  98  35  58  82  52  13  39
##  [37]  21   7  40  34  69  54  92  34   5  34  13  36   5  92  10  67  67  39
##  [55]   3  22  23  81  95  16  33  10  69  84  53  25  79  28  88  16  83  75
##  [73]  76  58 100  32  98  13  50  12  93  87  95   3  57  87   7  31  16  49
##  [91]  61  71  47  37  14  11  83  75  29  38
boxplot(a)

 

如果你不懂par的用法

?par

然后就会在Rstudio右下角出现帮助信息

然后par(mfrow=c(1,3))的意思就是一个图版显示1行3列

添加几个异常值

b <- c(a, -180:-190, 181:180)
boxplot(b)

这样就看到在max最大值之上,min最小值之下,都有一些“离群点”

接下来引用R自带的一个数据集InsectSprays

class(InsectSprays)
## [1] "data.frame"
summary(InsectSprays)
##      count       spray 
##  Min.   : 0.00   A:12  
##  1st Qu.: 3.00   B:12  
##  Median : 7.00   C:12  
##  Mean   : 9.50   D:12  
##  3rd Qu.:14.25   E:12  
##  Max.   :26.00   F:12

InsectSprays
##    count spray
## 1     10     A
## 2      7     A
## 3     20     A
## 4     14     A
## 5     14     A
## 6     12     A
## 7     10     A
## 8     23     A
## 9     17     A
## 10    20     A
## 11    14     A
## 12    13     A
## 13    11     B
## 14    17     B
# ……太长略过
## 69    26     F
## 70    26     F
## 71    24     F
## 72    13     F
# 注意,~表示因果关系,这里的意思是横坐标(自变量)为count,纵坐标(因变量)为spray
boxplot(count~spray, data=InsectSprays)

加上颜色

boxplot(count~spray, data=InsectSprays, col=2:7)

 

进阶的boxplot

boxplot(count~spray, data = InsectSprays, col = "lightgray")

boxplot(count~spray, data = InsectSprays, col = "lightgray")
boxplot(count~spray, data=InsectSprays,notch=T, add=T, col=2:7)
## Warning in bxp(list(stats = structure(c(7, 11, 14, 18.5, 23, 7, 12, 16.5, : some
## notches went outside hinges ('box'): maybe set notch=FALSE

# notch关键字: 保证我绘的图有凹进去的一小块 
# add关键字: 将图画在原来的图之上


3. 使用plot函数一样可以绘制箱线图(boxplot)

plot将第一个参数输入为factor就可以画箱图

par(mfrow=c(1,2))
y <- c(10,506,140,200)
x <- c(1,2,1,2)
plot(x,y)


a <- y
b <- x
b <- as.factor(b)
plot(b,a)

 

下面实现这张图

 

y <- c(88,99,66,77,88,97,33,55,66,99,88,99,77,55,66,77,98,99,96,90,80)
y
##  [1] 88 99 66 77 88 97 33 55 66 99 88 99 77 55 66 77 98 99 96 90 80
f <- factor(c(rep("班级1",6), rep("班级2",3), rep("班级3",5), rep("班级4",7)))
f
##  [1] 班级1 班级1 班级1 班级1 班级1 班级1 班级2 班级2 班级2 班级3 班级3 班级3
## [13] 班级3 班级3 班级4 班级4 班级4 班级4 班级4 班级4 班级4
## Levels: 班级1 班级2 班级3 班级4
plot(f,y)


4. plot来绘制Dataframe信息

  • plot(df): df是Dataframe
  • plot(~expr): expr是对象名称的表达式
  • plot(y~expr): y是任意一个对象
df <- data.frame(
  age=c(10,12,13),
  height=c(150,160,170),
  weight=c(50,60,70)
)
df
##   age height weight
## 1  10    150     50
## 2  12    160     60
## 3  13    170     70
plot(df)

 

plot(~age+height,data=df)

 

plot(weight~age+height, data=df)


5. pairs函数绘制matrix和Dataframe

x <- matrix(1:9, nrow = 3)
x
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
pairs(x)

x <- matrix(1:10, nrow = 2)
x
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8   10
pairs(x)

 

所以一列就是一个分量var

x <- matrix(1:10, nrow = 5)
x
##      [,1] [,2]
## [1,]    1    6
## [2,]    2    7
## [3,]    3    8
## [4,]    4    9
## [5,]    5   10
pairs(x)

 

这里就是两个分量var

6. coplot函数绘制协同图

a <- c("a","b","a","b","a","b")
n1 <- c(1,2,3,4,5,6)
n2 <- c(100,200,300,400,500,600)
df <- data.frame(a,n1,n2)
df
##   a n1  n2
## 1 a  1 100
## 2 b  2 200
## 3 a  3 300
## 4 b  4 400
## 5 a  5 500
## 6 b  6 600
coplot(n1~n2|a)

意思就是n1做纵坐标(因变量), 左边是含有“a”字符的feature的n2的值作为横坐标(自变量),右边是含有“b”的n2值作为横坐标

所以coplot可以绘制的就是,在给定一个feature,这里是factor a的情况下,分别绘制另外两个feature(这里是n1,n2)之间的关系


7. hist绘制直方图

data <- c(rep(1,20),rep(2,11),rep(3,6))
hist(data,breaks = c(0.5,1.5,2.5,3.5))

 

beaks断点,控制直方图每个方形的起始 下面了解freq,控制显示Frequency频次还是Density频率, main控制title

par(mfrow=c(1,2))
hist(data,breaks = c(0.5,1.5,2.5,3.5), freq = T, main="freq=T")
hist(data,breaks = c(0.5,1.5,2.5,3.5), freq = F, main="freq=F")

 

太丑了,加颜色

par(mfrow=c(1,2))
hist(data,breaks = c(0.5,1.5,2.5,3.5), freq = T, main="freq=T",col = "red")
hist(data,breaks = c(0.5,1.5,2.5,3.5), freq = F, main="freq=F",col = rainbow(3))

8. dotchart绘图 横轴是数值,纵轴是标签

这里引用R自带的数据VADeaths,为Virginia州在1940年的人口死亡率

VADeaths
##       Rural Male Rural Female Urban Male Urban Female
## 50-54       11.7          8.7       15.4          8.4
## 55-59       18.1         11.7       24.3         13.6
## 60-64       26.9         20.3       37.0         19.3
## 65-69       41.0         30.9       54.6         35.1
## 70-74       66.0         54.3       71.1         50.0
dotchart(VADeaths)

 

9. axes-边框控制

- axes=FALSE: 表示图形没有坐标轴

- axes默认为TRUE

x <- 1:100
y <- rnorm(100)
par(mfrow=c(1,2))
plot(x,y)
plot(x,y,axes=F)

10. log参数,对数据取对数

- log = “x”: 表示对x轴的数据取对数

- log = “y”: 表示对y轴的数据取对数

- log = “xy”: 表示对x轴y轴的数据同时取对数

x <- c(100:400)
y <- c(100:400)
par(mfrow=c(2,2))
plot(x,y,main = "no log")
plot(x,y,log="x", main = "logX")
plot(x,y,log="y", main = "logY")
plot(x,y,log="xy",main = "logX, logY")

要注意的是! 坐标轴上的值没有log处理, 但是scale发生了变化,注意看第一个图和其他图的坐标轴的scale差别!

再举一个例子

y <- rnorm(100,mean = 1,sd = 0.2)
y
##   [1] 0.8980091 0.6852322 1.2044800 1.2776998 1.2134941 1.5039153 1.0459592
##   [8] 0.9735094 0.9632086 0.7840762 0.9561820 1.0682900 1.2299661 0.7964328
##  [15] 1.2501282 1.2538794 1.1110020 1.1281667 0.9146932 1.1525602 0.9235296
##  [22] 1.2587914 1.1502627 0.8474249 0.8605189 0.7996569 0.7705961 1.0117431
##  [29] 1.0216131 0.7203251 0.9868219 1.0719735 1.0109386 0.9261525 1.0817812
##  [36] 0.8693676 1.0760423 0.9864053 1.1460755 1.0351856 0.8639127 0.8492640
##  [43] 0.7028910 0.9551903 0.9944747 0.9613023 1.0191328 1.3326953 1.0689955
##  [50] 1.0532902 1.0196450 0.9958206 1.1413616 1.1432881 1.0067486 0.8076296
##  [57] 0.9381742 0.9088661 1.0080376 1.1991312 0.9870369 0.6442198 0.9884344
##  [64] 0.7986086 0.9030633 1.2628671 0.9356189 0.8920940 1.3426112 0.6536987
##  [71] 0.9891035 0.8206377 1.2027576 1.1888137 1.1056899 0.4963600 0.7903617
##  [78] 1.2959905 0.9425905 1.4026465 0.8265211 0.7913631 0.9399355 1.3695836
##  [85] 0.7709729 1.1433862 0.8246760 1.2058195 0.8117328 1.2648799 1.0891554
##  [92] 1.5258819 1.0580903 1.0592030 1.0821120 0.8887973 0.8354623 1.2193486
##  [99] 0.9504487 1.1167717
x <- 1:100
x
##   [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18
##  [19]  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36
##  [37]  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54
##  [55]  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72
##  [73]  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
##  [91]  91  92  93  94  95  96  97  98  99 100
par(mfrow=c(2,2))
plot(x,y,main="no log")
plot(x,y,log="x", main = "logX")
plot(x,y,log="y", main = "logY")
plot(x,y,log = "xy",main = "logX, logY")

 

从no log图可以看到,数据都是集中在0.6~1.4之间的,对x取log之后发现,大量的数据是集中在1附近的,这个在no log图中就看不太明显,logxlogy同理,而logy就看不太明显

11. type参数-点的类型

type = ?

  • p: 点, 默认
  • l: 线
  • b: 点和连接线
  • o: 点覆盖在线上
  • h: 从点到x周的垂直线
  • s: 阶梯图形
  • n: 不显示数据
x <- 1:20
y <- sample(1:100, 20)
par(mfrow=c(2,2))
plot(x,y,main = "p",type = "p")
plot(x,y,main = "l",type = "l")
plot(x,y,main = "b",type = "b")
plot(x,y,main = "o",type = "o")

 

par(mfrow=c(2,2))
plot(x,y,main = "h",type = "h")
plot(x,y,main = "s",type = "s")
plot(x,y,main = "n",type = "n")

12. 图的标注xlab ylab main sub

  • xlab: x轴的说明
  • ylab: y轴的说明
  • main: 图的说明
  • sub: 子图的说明
x <- 1:20
y <- sample(1:1000, 20)
par(mfrow=c(1,2))
plot(x,y)
plot(x,y,xlab = "this is X label", ylab = "this is Y label", main = "this is main/title", sub = "this is sub title of the sub plot")

 

13. points加点函数

  • 在已有图上加点
  • 功能相当于plot(x,y)
x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
par(mfrow=c(2,1))
plot(x,y,type="l")
plot(x,z,type = "l")

 

上面是绘制成了两个图

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l")
points(x,z,type = "l",col="red")

 

但是有一些z的值超出范围了(仔细看左上角的小红线),咋整呢?看下面

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
points(x,z,type = "l",col="red")

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
points(x,z,type = "p",col="red")

当然也可以更改type让红线变成点或者其他样式

14. line-加线函数

  • 在已有的图上加线
  • 功能相当于plot(x,y,type=“l”)
x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
lines(x,z,type = "l",col="red")

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
lines(x,z,type = "b",col="red")

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
lines(x,z,type = "h",col="red")

x <- c(1:10)
y <- sample(1:200, 10)
z <- sample(150:300, 10)
plot(x,y,type="l",ylim=c(0,300))
lines(x,z,type = "s",col="red")

 

15. par函数

  • par(mfrow=c(m,n)): 将绘图区分为m行n列,可以画m*n个图
  • par(new=TRUE): 叠加
x <- 1:20
y1 <- sample(1:1000,20)
y2 <- sample(1:1000,20)
plot(x,y1,type = "l")
par(new=TRUE)
plot(x,y2,col="red",type = 'o')

x <- 1:20
y1 <- sample(1:1000,20)
y2 <- sample(1:1000,20)
plot(x,y1,type = "l")
par(new=TRUE)
plot(x,y1,col="red",type = 'p')

 

所以我们通过这种办法就得到了黑线和红点的结合!

16. 使用par与lwd

接下来画我们的封面图!

  • lwd设置线条宽度
  • 与par结合
x <- 1:20
y1 <- sample(1:1000,20)
plot(x,y1,type = "l",col="red",lwd=10)

plot(x,y1,type="l",col="yellow",lwd=5)

神奇的结果出现了!

plot(x,y1,type = "l",col="red",lwd=10)
par(new=TRUE)
plot(x,y1,type="l",col="yellow",lwd=5)

Beautiful!

17. text函数添加标记

下图的细节 - type=“n”: 不绘点! - text(x,y)

x <- 1:20
y <- sample(1:10000000000, 20)
plot(x,y,type = "n")
text(x,y)

x <- c(1:5)
y <- c(6:10)
plot(x,y,type = "b")
text(x,y)

可以看到有个问题是字和点重合了看不清楚

x <- c(1:5)
y <- c(6:10)
plot(x,y,type = "b")
text(x+0.1,y-0.05)

这样就好看多了!

x <- c(1:5)
y <- c(6:10)
plot(x,y,type = "b")
text(x+0.1,y-0.05, labels = c("A","B","C","D"))

这里的细节是,labels来自定义值,但是看到有五个点我们只定义了4个所以,最后一个触发了R的自动补齐,也就是repeat了这个向量,也就是从A又开始了

18. abline-绘制参考线

  • abline(a,b): 绘制一条y=bx+a的直线
  • abline(h=y): 绘制一条通过所有点的水平直线
  • abline(v=x): 绘制一条通过所有点的垂直直线
plot(1:5,1:5)
abline(h=4,col="blue",lty=3)
abline(h=2)
abline(v=1,col="red",lty=2)
abline(v=4.5,lty=4,col=9)
abline(-3,3, lty=1) # y = 3x-3

细节可以?abline查看帮助文档嗷

19. polygon-给图加上多边形

x <- 1:10
y <- rnorm(x)
plot(x,y,type="l")

x <- 1:10
y <- rnorm(x)
x1 <- c(2,4,4,2)
y1 <- c(0,0,1,1)
plot(x,y,type="l")
polygon(x1,y1,col = 'pink',)

x <- 1:10
y <- rnorm(x)
x1 <- c(2,4,4,2)
y1 <- c(0,0,1,1)
plot(x,y,type="l")
polygon(x1,y1,col = 'yellow', border = 5,lty = 10)

同,了解更多使用?polygon

20. title函数给图形加标题

x <- 1:10
y <- rnorm(x)
x1 <- c(2,4,4,2)
y1 <- c(0,0,1,1)
plot(x,y,type="l")
polygon(x1,y1,col = 'pink',)
title("this is a title")

那么有人要问title和main sub的区别呢? 还是这个图,我画两次

x <- 1:10
y <- rnorm(x)
x1 <- c(2,4,4,2)
y1 <- c(0,0,1,1)

par(mfrow=c(1,2))
plot(x,y,type="l",main = "this is main 1",sub = "this is sub1")
polygon(x1,y1,col = 'pink')
plot(x,y,type="l", main = "this is main 2", sub = 'this is sub2')
polygon(x1,y1,col = 'black')

par(new=TRUE,mfrow=c(1,1))
title("this is a title")

这样子是不是理解了, 先画了一个含有俩子图的图,俩子图都有各自的main和sub 然后这时候不能直接title,直接title默认是和this is main2这个位置冲叠的, 可以试试! 画到中间的位置思路就是新开一个重叠画布

21. axis-控制坐标轴

axis(side,…) - 1: 底部 - 2: 左侧 - 3: 顶部 - 4: 右侧 axis一般需要和axes=F搭配使用

x <- 1:10
y <- rnorm(x)
par(mfrow=c(2,2))
plot(x,y,type="l",axes = F); axis(1)
plot(x,y,type="l",axes = F); axis(2)
plot(x,y,type="l",axes = F); axis(3)
plot(x,y,type="l",axes = F); axis(4)

 

22. xlim与ylim-坐标轴的取值范围

x <- c(1:10)
y <- sample(1:100,10)
par(mfrow=c(2,2))
plot(x,y)
plot(x,y,xlim=c(4,8))
plot(x,y,ylim=c(0,50))
plot(x,y,xlim = c(1,5),ylim = c(50,80))

 

编辑于 07-29

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R learning 十八讲 0018-R语言绘图基础 的相关文章

  • 如果条目出现次数少于 x 则删除数据框中的行

    我有以下数据框 称之为 df 它是由三个向量组成的数据框 姓名 年龄 和 邮政编码 df Name Age ZipCode 1 Joe 16 60559 2 Jim 20 60637 3 Bob 64 94127 4 Joe 23 9412
  • 如何返回包含最大值标签的向量

    我有一个 4 列数组 我想获得一个向量 其中每行包含包含该行最大值的列的标签 我可以在循环中执行此操作 但我想使用矩阵函数来提高速度 我怎样才能在不编写自己的库函数的情况下做到这一点 有一个函数可以做到这一点 如果x是你的矩阵 尝试max
  • 手动设置scale_fill_distiller()的比例

    我正在尝试制作一系列图表进行比较 举例来说 我想使用iris数据集来制作这样的图 其中我已过滤以仅查看 setosa 物种 library ggplot2 library dplyr iris gt filter Species setos
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M
  • 从 R 中的方差分析 (glm) 中提取残余偏差

    我在 R 中安装了一个 glm 模型并采用了方差分析表 我需要提取 残余偏差 列 但它会产生错误 以下是代码 创建数据 counts lt c 18 17 15 20 10 20 25 13 12 outcome lt gl 3 1 9 t
  • 无法部署 ShinyApp:readTableHeader 在“raw”上发现不完整的最后一行(使用默认值:en_US)

    我已经拼命尝试部署我的闪亮应用程序大约一周了 但不幸的是我无法停止收到以下消息 Warning message Error detecting locale Error in read table file file header head
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 如何绘制大时间序列(数千次给药次数/药物剂量)?

    我正在尝试绘制医院中如何开出单一药物的图解 在这个虚拟数据库中 我在 2017 年 1 月 1 日之后遇到了 1000 名患者 绘图的目的是了解该药物的给药模式 在接近入院 出院或患者住院期间是否更频繁 高剂量给药 Get random d
  • 从 df 中提取具有两列的重叠行对

    我想找出这两个表之间哪些对重叠 gt dput data1 structure list Name x c MDH1 MDH1 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 IDH2 SCOALB SCOALB CSY4 CS
  • R- 将某些列从 0 标准化为 1,其值等于 0

    我最近开始使用 are 我想扩展我的数据矩阵 我在这里找到了一种方法在两点之间缩放系列 https stackoverflow com questions 5468280 scale a series between two points
  • 用表达式分割轴标签

    我有一个带有包含表达式的长标签的图 我想将其分成两行 在表达式中添加 n 结果不符合预期 ylabel lt expression A very long label with text and n expression alpha bet
  • 将第 N 行上的 NA 行插入 data.frames 列表,其中 N 来自列表

    经过几个小时后 我发现自己无法解决以下问题 我有一个数据框列表 我想分别向每个 DF 插入 而不是替换 一行或多行 NA 始终至少一行 要插入的 NA 数量存储在单独的列表中 为了说明这一点 我有以下两个列表 list of datafra
  • 无法更新/编辑从 R 中的包(`gratia`)导出的 ggplot2 对象

    我希望我在这里遗漏了一些令人痛苦的明显的东西 我希望更新 例如 修复标题 实验室等 由 生成的 ggplot 对象gratia draw 不太确定为什么我无法更新该对象 有一个简单的解决方案吗 devtools install github
  • 如何在 Caret 中绘制随机森林(护林员)树

    我生成了如下所示的随机森林树 并尝试绘制它 但出现错误 我在哪里犯了错误 我怎样才能以正确的方式绘制它 Actmodel lt train Activity Section Author data CB1 method ranger trC
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 将 ftransform 与折叠 R 包中的 fgroup_by 一起使用

    我正在尝试重现以下输出dplyr代码与R包裹collapse dplyr Code library tidyverse starwars gt select name mass species gt group by species gt
  • R中的重叠矩阵

    我有以下数据框 id channel 1 a 1 b 1 c 2 a 2 c 3 a 我想创建并重叠矩阵 它基本上是一个方阵 行和列标签为 a b c 表中的每个条目显示每个通道共有多少个 id 例如 在上面的例子中 矩阵看起来像 a b
  • R - 计算 bin 中特定值的数量

    我有一个如下所示的数据框 df Value lt c 1 1 0 2 1 3 4 0 0 1 2 0 3 0 4 5 2 3 0 6 Sl lt c 1 20 df lt data frame Sl Value gt df Sl Value
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt
  • 在R中循环子文件夹

    我正在 R 环境中包含多个子文件夹的文件夹中工作 我想要循环遍历多个子文件夹 然后在每个子文件夹中调用 R 脚本来执行 我想出了下面的代码 但我的代码似乎添加了 到子文件夹列表 我收到错误 文件中的错误 文件名 r 编码 编码 无效的 描述

随机推荐

  • flask入门教程(7) - 会话

    会话 flask提供了session对象 即会话 允许你在不同请求之间储存信息 这个对象相当于用密钥签名加密的cookie 即用户可以查看你的cookie 但是如果没有密钥就无法修改它 这是我的网站词神上的cookie 大家可以打开我的网站
  • blender_(uv应用)................http://digitalman.blog.163.com/blog/static/23874605620174172058299/...

    轻松学习Blender基础入门之九 UV 1 2017 06 21 14 24 49 分类 Blender 举报 字号 订阅 下载LOFTER 我的照片书 前言
  • LittleFs文件系统

    小型文件系统 littlefs 简介 LittleFs设计之初的重点特性是 1 低资源消耗 2 掉电保护 3 擦写均衡 本章节重点讨论第 2 和 3 这两个特性 第 1 个特性则贯穿在整个设计过程中 后文把LittleFs简称为lfs 1
  • FaceForensics++数据集下载,FaceForensics++: Learning to Detect Manipulated Facial Images

    FaceForensics 数据集下载 FaceForensics Learning to Detect Manipulated Facial Images 0 前言 如何运行 主要是前三个超参数 不同压缩率所需的空间需求 code 0 前
  • 数据集批量打标——shell脚本批量生成文件并重命名

    shell脚本批量生成文件并重命名 最近接到一个数据集标注的任务 使用的标注工具是LabelImg 使用前配置了环境Anaconda python 3 7 Linux 并在该环境下配置了pyqt5 数据集里的图片是一段视频逐帧抽图 要求在图
  • CCNA学习笔记九 NAT地址转换及优缺点

    网络地址转换 将很多的私网地址转换成公网IP Telnet 快 可以被拦截 ssh ssl加密 安全 改变IP包头 使目的地址 源地址或两个地址在包头中被不同的地址替换 路由器会保存一个转换表 当数据包回来的时候 还原成正确的私网地址 NA
  • LED数码管数字数据集

    LED数码管数字数据集 结合百度OCR取得很好效果 数据集结合百度的OCR百度的OCR https gitee com paddlepaddle PaddleOCR tree release 2 1 程序对应数据集训练进行目标检测识别 数据
  • 在github上托管属于自己的网页

    文章目录 前言 一 配置github 1 建立新的仓库 repository 二 配置git 1 git与github连接 2 测试git与github的连接 3 通过git上传 删除github仓库中的文件 4 网页显示 5 更换域名 总
  • Anaconda安装、源配置、虚拟环境搭建、及Python常用软件安装详解(详细教程)

    首先先介绍一下各种安装软件的基本介绍和常见命令 基本介绍 Anaconda 是可以便捷获取包且对包能够进行管理 同时对环境可以统一管理的发行版本 Anaconda包含了conda Python在内的超过180个科学包及其依赖项 conda是
  • 山东大学软件学院软件项目管理复习

    考前整理的复习题 有一些考试考到了 分享给下一级吧 1 项目目标的制约因素 项目范围 成本 进度计划 客户满意度 三个约束 范围 成本 时间 项目范围是为使客户满意必须做的工作 成本是完成项目所需要的费用 进度计划安排每项任务的起始时间和所
  • pre标签显示服务器端txt文档,区域设计pre显示标签pre

    区域设计pre显示标签pre 内容精选 换一换 在现场讲解汇报 实时监控等场景下 为了获得更好的演示效果 通常需要将态势感知服务的分析结果展示在大型屏幕上 如果只是单纯将控制台界面放大显示 视觉效果并不是很理想 此时可以利用综合大屏 展示专
  • Java并发修改异常ConcurrentModificationException

    import java util ArrayList import java util Iterator import java util ListIterator public class ConcurrentModificationEx
  • A complete log of this run can be found in:

    npm run dev npm ERR code ENOENT npm ERR syscall open npm ERR path C Users Administrator Desktop 项目名 package json npm ERR
  • 什么是设计模式?程序员如何学好设计模式?

    前几天 我给大家介绍了算法和数据结构的基础知识 后来又有小伙伴私信问我 小灰 你能不能也讲一讲设计模式的相关知识 没问题 对于程序员来说 设计模式也是必须要掌握的一项核心知识 我今天就来给大家重点讲一讲 编程的痛点 那么 到底什么是设计模式
  • 上海市“星光计划”职业院校技能大赛 网络安全竞赛试题任务书

    2023上海市 星光计划 职业院校技能大赛 网络安全竞赛试题任务书 2023上海市 星光计划 职业院校技能大赛 网络安全竞赛试题任务书 A模块基础设施设置 安全加固 200分 A 1 登录安全加固 A 2 Web安全加固 Web A 3 流
  • linux2.4内核模块隐藏,Linux环境下的高级隐藏技术

    摘要 本文深入分析了Linux环境下文件 进程及模块的高级隐藏技术 其中包括 Linux可卸载模块编程技术 修改内存映象直接对系统调用进行修改技术 通过虚拟文件系统proc隐藏特定进程的技术 隐藏技术在计算机系统安全中应用十分广泛 尤其是在
  • 学习笔记 JavaScript ES6 Reflect

    学习内容 将Object属于语言内部的方法放到Reflect上 修改某些Object方法的返回结果 让其变得更合理 让Object操作变成函数行为 Reflect对象的方法与Proxy对象的方法相辅相成 将Object属于语言内部的方法放到
  • Jenkins + 云效 前后端项目自动化部署

    环境安装 创建目录 后续下载的内容 放在里边方便管理 cd mkdir docker cd docker mkdir maven mkdir jenkins mkdir java mkdir registry 宝塔 不在赘述 前往官网有安装
  • 爬取数据是违法的吗_网络爬虫违法吗?

    Web爬取 也称为Web抓取 数据抓取或爬虫 是一种计算机程序技术 用于从网站上抓取大量数据 并将其处理为结构化数据 Web抓取是常用的 基本上 网页抓取是互联网的功能 例如 SEO需要创建站点地图并授予其权限 让Google对其网站进行抓
  • R learning 十八讲 0018-R语言绘图基础

    0018 R语言绘图基础 2020 07 29更新 使用代码块 看起来更方便 更改了第6节 这次不介绍如ggplot2等绘图包 只记录一些R基础就能实现的东西 跟着我爪子敲一遍 相信你会有收获 有用的话请点赞收藏 O 嗷 能点个大大的关注就