前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R_数据类型和数据结构1

R_数据类型和数据结构1

原创
作者头像
欣欣丫
发布2023-11-23 11:47:01
1540
发布2023-11-23 11:47:01
举报
文章被收录于专栏:R语言学习ing

title: "R_01"

output: html_document

date: "2023-11-22"


R Markdown

代码语言:text
复制
###🍎🍓🍌🍒🍑🍇🌽——————2.数据类型和结构——————🥕🍅🍍🥝🥥🥑🍠
######🍋🍋🍋2.1 数据类型
 #(1)数值型
 #(2)字符型(" "或' ')
 #(3)逻辑型:比较运算的结果是逻辑值(>,<,<=,>=,==(判断两个数据是否相等),!=)
             #逻辑运算 多个逻辑条件连接  与 &  或 | 或!
             
###判断数据类型的函数
   #class()
   #is. numeric ();is. logical ();is. character ()
   #as. numeric ();as. logical ();as. character () #转换数据类型

######🍋🍋🍋2.2 数据结构
   #(1)向量vector
   #(2)数据框data.frame
   #(3)矩阵matrix
   #(4)列表list

###(1)向量(向量的组成部分是元素)
##1.生成向量
  c(1,3,5);c("a","b","c") #用c()逐一放到一起
代码语言:txt
复制
## [1] 1 3 5
代码语言:txt
复制
## [1] "a" "b" "c"
代码语言:text
复制
  1:5 #连续数字
代码语言:txt
复制
## [1] 1 2 3 4 5
代码语言:text
复制
  rep("x", times = 3) #有重复的
代码语言:txt
复制
## [1] "x" "x" "x"
代码语言:text
复制
  seq(from = 3, to = 21, by = 2);seq(3, 21, 2) #有规律的
代码语言:txt
复制
##  [1]  3  5  7  9 11 13 15 17 19 21
代码语言:txt
复制
##  [1]  3  5  7  9 11 13 15 17 19 21
代码语言:text
复制
  rnorm(n = 3);rnorm(3) #随机数
代码语言:txt
复制
## [1] -1.2554971  0.1096315  0.4560257
代码语言:txt
复制
## [1]  0.1210217  0.2712784 -0.1833829
代码语言:text
复制
  paste0(rep("x", times = 3),1:3);paste0(rep("x", 3), 1:3) #组合
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:txt
复制
## [1] "x1" "x2" "x3"
代码语言:text
复制
##2.对单个向量的操作
  #赋值
  x <- c(1,3,5)  #规范的赋值符号 快捷键Alt + -
  x = c(1,3,5) #随意的写法
  (x <- c(1,3,5)) #赋值+输出
代码语言:txt
复制
## [1] 1 3 5
代码语言:text
复制
  x <- c(1,3,5);x #两句或多句代码写在同一行上
代码语言:txt
复制
## [1] 1 3 5
代码语言:text
复制
  #简单数学计算
   x <- c(1,3,5)
   x + 1
代码语言:txt
复制
## [1] 2 4 6
代码语言:text
复制
   log(x)
代码语言:txt
复制
## [1] 0.000000 1.098612 1.609438
代码语言:text
复制
   sqrt(x)
代码语言:txt
复制
## [1] 1.000000 1.732051 2.236068
代码语言:text
复制
  #根据某条件进行判断(比较运算),生成与x等长的逻辑值向量
   x <- c(1,3,5)
   x > 3
代码语言:txt
复制
## [1] FALSE FALSE  TRUE
代码语言:text
复制
   x == 3
代码语言:txt
复制
## [1] FALSE  TRUE FALSE
代码语言:text
复制
   #初级统计
   x <- c(1,3,5,1)
   max(x)
代码语言:txt
复制
## [1] 5
代码语言:text
复制
   min(x)
代码语言:txt
复制
## [1] 1
代码语言:text
复制
   mean(x)
代码语言:txt
复制
## [1] 2.5
代码语言:text
复制
   median(x)
代码语言:txt
复制
## [1] 2
代码语言:text
复制
   var(x) #方差
代码语言:txt
复制
## [1] 3.666667
代码语言:text
复制
   sd(x) #标准差
代码语言:txt
复制
## [1] 1.914854
代码语言:text
复制
   sum(x) #总合
代码语言:txt
复制
## [1] 10
代码语言:text
复制
   length(x) #长度
代码语言:txt
复制
## [1] 4
代码语言:text
复制
   unique(x) #去重复
代码语言:txt
复制
## [1] 1 3 5
代码语言:text
复制
   duplicated(x) #判断X里的每个数字是否发生了重复,返回值为逻辑值
代码语言:txt
复制
## [1] FALSE FALSE FALSE  TRUE
代码语言:text
复制
   table(x) #重复值统计
代码语言:txt
复制
## x
## 1 3 5 
## 2 1 1
代码语言:text
复制
   sort(x) #排序,默认升序sort(x, decreasing = F),改为降序sort(x, decreasing = T)
代码语言:txt
复制
## [1] 1 1 3 5
代码语言:text
复制
##3.对两个向量的操作
   x <- c(1,3,5,1)
   y <- c(3,2,5,6)
   x == y 
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
   y == x #比较运算,生成等长的逻辑向量
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
   x + y
代码语言:txt
复制
## [1]  4  5 10  7
代码语言:text
复制
   x * y #数学计算
代码语言:txt
复制
## [1]  3  6 25  6
代码语言:text
复制
   paste(x, y, sep = ",") #连接
代码语言:txt
复制
## [1] "1,3" "3,2" "5,5" "1,6"
代码语言:text
复制
   paste0(x,y)
代码语言:txt
复制
## [1] "13" "32" "55" "16"
代码语言:text
复制
   paste(x,y)
代码语言:txt
复制
## [1] "1 3" "3 2" "5 5" "1 6"
代码语言:text
复制
   paste(x, y, sep = "") #区别paste和paste0函数,?paste
代码语言:txt
复制
## [1] "13" "32" "55" "16"
代码语言:text
复制
     #当两个向量长度不一致,发生循环补齐
   a <- c(1,3,5,1)
   b <- c(3,2,5)
   a == b #循环补齐发生条件: {等位运算(数学计算,比较运算,past,past0),长度不等}
代码语言:txt
复制
## [1] FALSE FALSE  TRUE FALSE
代码语言:text
复制
   x <- c(1,3,5,1)
   y <- c(3,2,5,6)
   intersect(x,y) #交集
代码语言:txt
复制
## [1] 3 5
代码语言:text
复制
   union(x,y) #并集
代码语言:txt
复制
## [1] 1 3 5 2 6
代码语言:text
复制
   setdiff(x,y)
代码语言:txt
复制
## [1] 1
代码语言:text
复制
   setdiff(y,x) #差集
代码语言:txt
复制
## [1] 2 6
代码语言:text
复制
     #%in%,生成逻辑值
   x %in% y #x的每个元素在y中存在吗,生成与x等长的逻辑值
代码语言:txt
复制
## [1] FALSE  TRUE  TRUE FALSE
代码语言:text
复制
   y %in% x #y的每个元素在x中存在吗,生成与y等长的逻辑值
代码语言:txt
复制
## [1]  TRUE FALSE  TRUE FALSE
代码语言:text
复制
##4.向量筛选(取子集):[]
   #按照逻辑值:中括号里是与x等长且一一对应的逻辑值向量
   df4 <- 8:12;df4
代码语言:txt
复制
## [1]  8  9 10 11 12
代码语言:text
复制
   df4[df4 == 10]
代码语言:txt
复制
## [1] 10
代码语言:text
复制
   df4[df4 < 12]
代码语言:txt
复制
## [1]  8  9 10 11
代码语言:text
复制
   df4[df4 %in% c(9,13)] 
代码语言:txt
复制
## [1] 9
代码语言:text
复制
   #按照位置:中括号里是由下标组成的向量
   df5 <- 8:12;df5
代码语言:txt
复制
## [1]  8  9 10 11 12
代码语言:text
复制
   df5[4] #第4列
代码语言:txt
复制
## [1] 11
代码语言:text
复制
   df5[2:4] #第2-4列
代码语言:txt
复制
## [1]  9 10 11
代码语言:text
复制
   df5[c(2,4)] #第2列和第4列,不可以直接写成df5[2,4]
代码语言:txt
复制
## [1]  9 11
代码语言:text
复制
   df5[-4] #除去第四列
代码语言:txt
复制
## [1]  8  9 10 12
代码语言:text
复制
   df5[-(2:4)] #除去第2-4列
代码语言:txt
复制
## [1]  8 12
代码语言:text
复制
##5.修改向量中的某个/某些元素:取子集+赋值
  ##⭐⭐⭐R语言里的修改,都要赋值,没有赋值就没有发生过
   df4 <- 8:12;df4
代码语言:txt
复制
## [1]  8  9 10 11 12
代码语言:text
复制
   df4[4] <- 40;df4 #改一个元素
代码语言:txt
复制
## [1]  8  9 10 40 12
代码语言:text
复制
   df4[c(1,5)] <- c(80,20);df4 #改多个元素
代码语言:txt
复制
## [1] 80  9 10 40 20
代码语言:text
复制
   df4 <- 8:12;df4
代码语言:txt
复制
## [1]  8  9 10 11 12
代码语言:text
复制
##6.简单向量作图
   k1 <- rnorm(12);k1
代码语言:txt
复制
##  [1] -0.307092657  0.017104177 -1.783921671 -0.895333237  0.002782607
##  [6] -0.289644951 -0.017758148  1.575684979 -1.369380688  1.260489106
## [11]  0.863698565 -0.484026978
代码语言:text
复制
   k2 <- rep(c("a", "b", "c", "d"), each = 3);k2
代码语言:txt
复制
##  [1] "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d"
代码语言:text
复制
   plot(k1)

(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/9169440/20231123-6874b036.png?x-cos-security-token=XazQOQwryFdEOouJEjBgSnkh2WyvnG3a264790de313e55f7686759f352702ba1YFMBVZ3wQVjBNpoW_KMfN2RC09s6PfwdOqDcowZ3P-Vo0Am9BunZ4nJYzYFXBf7u5rLlbzzjf41n21RTMIwKezXvMcE1s1nu1XTwH40V-DUB5mvNVBS6Bm8IYnyNX0zL_zY5mhgTsz0r_8dGULdfm8LSH9IHSFVgbXJsp5awVI2M84NA1XvBQ8tBIgS2jmm6qxLuMN2l0tUqTy9WDGKMqUFoexOHq2yg8EFWKgBi3uk4Mrtui9aj_Wbq4J9lTTsUD-BMNKfc0Jr7Ati8vUiANTLmPVb1uu6KzMi1QSPo2E_uGWrQUoGWn8Pw0qeotVWz4Ur-1-g1dM5lcMdqieKVDGWR_yM2MiMKjPZrjhj3Kx-ANwjikSRCC9ysRJ9q7qC6k0yM-TFgjEcggJkh6gtkNQ&q-sign-algorithm=sha1&q-ak=AKIDMiVx-3J5YWwEhf0th4uVCL7ZvzqP09bV-5qP2bqgBShA0eG8ZY90NNuTSACMQNFO&q-sign-time=1700710846%3B1700718041&q-key-time=1700710846%3B1700718041&q-header-list=host&q-url-param-list=x-cos-security-token&q-signature=3f3721451993df5289443555b48f4af347e00707)

代码语言:text
复制
   boxplot(k1~k2)

(https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/9169440/20231123-7d732472.png?x-cos-security-token=jXCqUExdWT29rUmrFIgtjXwLP2dQTqca4ea2cd75f02a242ebb71b3ec48a2be50a_7m4KeBN5SXbd9C8TRCaxAO4BZVZuVX2uox-fzr-r-y3n3rmxsyVRo1t7CJ6XoeQFm_7K9qlx2-jJtNvJFEUovkk-Zg_opE9D5Zew5pzm6jXcefJtK8AXWH72TC5xR1laUXh-sQjZPrcI0xLhz2RyD_F4CODt2MurPUJ03oyEt6zKURrgNYXbKLFLi0cRxlpGspyWOzup0pyYCW54VZFB8COqTt7oPiHavK_ej7YONkXcLeAWJROQaaBChfziZ7i0qf4LX-hLvzBPwqWJCmhggDvKPsmH9um2Z8GtDRtg7yli5ZKbhDgYgK4k3i50twkYT_ZyIfvLYMR9TbAHsPcQtiRU3F_f8YICuhN_HzHft7UhoTRUeztxkxNZXOj2JCfUu2_2p-HXD6UpfpvuhSwg&q-sign-algorithm=sha1&q-ak=AKIDOO8JRo8Twa_kI-nHJ67df4y2YBpE8aG6ZlRpYuyWTeEWIUjEGbZ89X7j1O6O1_nN&q-sign-time=1700710866%3B1700718061&q-key-time=1700710866%3B1700718061&q-header-list=host&q-url-param-list=x-cos-security-token&q-signature=c621b47a791dd5a32f97dbbf0cbf62e3595900a8)

代码语言:text
复制
   ##向量部分结束

引用自生信技能树

speed dist

Min. : 4.0 Min. : 2.00

1st Qu.:12.0 1st Qu.: 26.00

Median :15.0 Median : 36.00

Mean :15.4 Mean : 42.98

3rd Qu.:19.0 3rd Qu.: 56.00

Max. :25.0 Max. :120.00

代码语言:txt
复制

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R Markdown
  • speed dist
  • Min. : 4.0 Min. : 2.00
  • 1st Qu.:12.0 1st Qu.: 26.00
  • Median :15.0 Median : 36.00
  • Mean :15.4 Mean : 42.98
  • 3rd Qu.:19.0 3rd Qu.: 56.00
  • Max. :25.0 Max. :120.00
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档