生信技能树R语言学习

2023-11-18

一、数据类型和向量

1. 数据类型

1.1 判断数据类型class()
1.2 按Tab键自动补全
1.3 数据类型的判断和转换
(1)is 族函数,判断,返回值为TRUE或FALSE

is.numeric("123")
is.character("a")
is.logical(TRUE)

(2)as族函数实现数据类型之间转换

as.matrix()  
as.numeric()
as.character()
as.logical()

2. 向量

(1)有重复的用rep(),有规律的用seq(),随机数用rnorm

rep("sample",6)
[1] "sample" "sample" "sample" "sample" "sample" "sample"

seq(4,30,3)
[1]  4  7 10 13 16 19 22 25 28

rnorm(3)
[1]  0.1511196  1.1105814 -0.8626667

(2)组合
paste0(rep("x",3),1:3) # 或 paste0("x",1:3)
[1] "x1" "x2" "x3"

paste0("sample",seq(1,5,2))
[1] "sample1" "sample3" "sample5"

paste() 和paste0()区别:
(1)paste()中的sep=将两个或多个向量字符串分别对应连接
paste(v1,v1,sep = " ")
paste0()与paste()的区别是无法设定sep,默认=“”每空格。

paste("x",1:3,sep  = "~")
[1] "x~1" "x~2" "x~3"

(2)两个向量的操作

重点:

 x %in% y # x的每个元素在y中吗

x[x %in% y] #注意x,y顺序
 x == y # x和对应位置的y相等吗
  1. 交集、并集、差集

x = c(1,5,3,4)
y = c(5,12,24,3)
intersect(x,y)
[1] 5 3
union(x,y)
[1] 1 5 3 4 12 24
setdiff(x,y)
[1] 1 4
setdiff(y,x)
[1] 12 24

  1. 当两个向量长度不一致
    循环补齐
    在这里插入图片描述
  2. sort(x)等于x[order(x)]
  3. match(x,y)
    x[match(y,x)]
    match : 谁在外面,谁就在后面,以y为模板,给x调整顺序
x = c("A","B","C","D","E")
y = c("E","C","B","A")
match(y,x)
x[match(y,x)]

二、数据框、矩阵和列表

1.区别

(1)Vector向量——一维;matrix矩阵——二维,只允许一种数据类型;data.frame数据框——二维,每列只允许一种数据类型

2.练习题

(1)#求c1第一列数值的中位数
#筛选c1中,最后一列值为a或c的行

c1 <- read.csv("./exercise.csv")
median(c1$Petal.Length)  # 求c1第一列数值的中位数 
# 或者median(c1[,1])
c1[c1$Species %in% c("c","a"),] # 筛选c1中,最后一列值为a或c的行
# 或者c1[c1$Species == "a"| c1$Species == "c",]
错误形式如下:
c1[c1$Species == c("c","a"),] #  一长一短,无法比较,他们发生了循环补齐

(2)修改行名和列名

#改行名和列名
rownames(df) <- c("r1","r2","r3","r4")
#只修改某一行/列的名
colnames(df)[2]="CHANGE"

(3)两个数据框的连接
merge(test1,test2,by=“name”)
merge(test1,test3,by.x = “name”,by.y = “NAME”)

(4) #1.统计内置数据iris最后一列有哪几个取值,每个取值重复了多少次
2.提取内置数据iris的前5行,前4列,并转换为矩阵,赋值给a。
3.将a的行名改为flower1,flower2…flower5。

table(iris[,ncol(iris)])
a = as.data.frame(iris[1:5,1:4])
rownames(a) = paste0("flowers",1:5) # 或者
rownames(a) = paste0("flowers",1:nrow(a))

(5) match() 函数的使用
在这里插入图片描述

## 以y为模板,对X的顺序进行排序,然后选择x的id列给y的列名:match()函数
# match(colnames(y),x$file_name)
# x[match(colnames(y),x$file_name),] 
# x$ID[match(colnames(y),x$file_name)]
colnames(y) = x$ID[match(colnames(y),x$file_name)]

三、几种加载包的方法

# 方法一:
install.packages("tidyr")
install.packages('BiocManager')
# 方法二:
BiocManager::install("ggplot2")
# 方法三:
devtools::install_github("jmzeng1314/idmap1") #括号里写作者用户名加包名
# 方法四:
if(!require(stringr))install.packages("stringr")

镜像源推荐:
# 清华镜像
# http://mirrors.tuna.tsinghua.edu.cn/CRAN/
# http://mirrors.tuna.tsinghua.edu.cn/bioconductor/
  
# 中科大镜像
# http://mirrors.ustc.edu.cn/CRAN/
# http://mirrors.ustc.edu.cn/bioc/

R语言中的符号

[ ] :向量,数据框,矩阵取子集
[[ ]]:列表取子集

四、读取,写入数据

txt 和csv

read.csv():一般读取csv格式
read.table():一般读取txt格式

ex1 <- read.table("./ex1.txt",
                  header = T)

ex2 <- read.csv("./ex2.csv",
                row.names = 1) # 第一列为行名

soft <- read.table("./soft.txt",
                   sep = "\t", # 以...分隔
                   fill = TRUE, # 空格自动填充
                   header = TRUE
                   )

write.table(ex1,file = “./ex1.txt”)
write.csv(ex2,file = “./ex2.csv”)

Rdata

save()
load()

save(ex1,file = "./ex1.Rdata")
load("./ex1.Rdata")

读入数据,ID转换

案例:
在这里插入图片描述

soft <- read.csv("./soft.csv",row.names = 1)
head(soft)
exp$symbol <- soft$GeneName[match(rownames(exp),soft$ID)] 
exp <- exp[!duplicated(exp$symbol),]
exp <- exp[!grepl("^ENST",exp$symbol),] 
rownames(exp) <- exp$symbol
exp = exp[,-ncol(exp)]

五. 画图

(1)绘图

(1)作图:ggplot2、ggpubr、base
(2)拼图:patchwork包、par里的mfrow、grid.arrange、cowplot
(3)导出:

#图片的保存和导出
# 1. ggplot2系列
ggsave(p,filename = "")

# 2.通用:三段论
# 保存的格式及文件名
pdf("test.pdf")
dev.off() # 关闭画板

(2)ggplot2语法

  1. ggplot2特殊语法:列名不带引号
  2. 属性设置
    映射:根据数据的某一列的内容分配颜色
    手动设置:把图形设置为一个或N个颜色,与数据类型无关
    在这里插入图片描述在这里插入图片描述
  3. 实战
#1.入门级绘图模板:作图数据,横纵坐标
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length))

#2.属性设置(颜色、大小、透明度、点的形状,线型等)
ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length), 
             size = 5,     # 点的大小5mm
             alpha = 0.5,  # 透明度 50%
             shape = 8)  # 点的形状


## 指定映射的具体颜色?
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species))+
  scale_color_manual(values = c("blue","grey","red"))

## 区分color和fill两个属性
### 1 空心形状和实心形状都用color设置颜色
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 17) #17号,实心的例子

ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 2) #2号,空心的例子
### 2 既有边框又有内心的,才需要color和fill两个参数
ggplot(data = iris)+
  geom_point(mapping = aes(x = Sepal.Length,
                           y = Petal.Length,
                           color = Species),
             shape = 24,
             fill = "black") #24号,双色的例子

#3.分面
ggplot(data = iris) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + 
  facet_wrap(~ Species) 

#双分面
dat = iris
dat$Group = sample(letters[1:5],150,replace = T)
ggplot(data = dat) + 
  geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + 
  facet_grid(Group ~ Species)

#4.几何对象
#局部设置和全局设置
ggplot(data = iris) + 
  geom_smooth(mapping = aes(x = Sepal.Length, 
                          y = Petal.Length))+
  geom_point(mapping = aes(x = Sepal.Length, 
                           y = Petal.Length))

ggplot(data = iris,mapping = aes(x = Sepal.Length, y = Petal.Length))+
  geom_smooth()+
  geom_point()

#5.统计变换使用场景
#5.1.不统计,数据直接做图
fre = as.data.frame(table(diamonds$cut))
fre
ggplot(data = fre) +
  geom_bar(mapping = aes(x = Var1, y = Freq), stat = "identity")
#5.2count改为prop
ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))

#6.位置关系
# 6.1抖动的点图
ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_point()

ggplot(data = iris,mapping = aes(x = Species, 
                                 y = Sepal.Width,
                                 fill = Species)) + 
  geom_boxplot()+
  geom_jitter()

# 6.2堆叠直方图
ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut,fill=clarity))

# 6.3 并列直方图
ggplot(data = diamonds) + 
  geom_bar(mapping = aes(x = cut, fill = clarity), position = "dodge")
 
 #7.坐标系
#翻转coord_flip()

ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + 
  geom_boxplot() +
  coord_flip()
#极坐标系coord_polar()
bar <- ggplot(data = diamonds) + 
  geom_bar(
    mapping = aes(x = cut, fill = cut), 
    width = 1
  ) + 
  theme(aspect.ratio = 1) +
  labs(x = NULL, y = NULL)
bar
bar + coord_flip()
bar + coord_polar() 

# 练习题:小提琴图+箱线图
ggplot(iris,mapping = aes(x = Sepal.Width,y = Species)) +
  geom_violin(aes(fill = Species)) +
  geom_boxplot()+
  geom_jitter(aes(shape = Species)) 

单分面
在这里插入图片描述
双分面
在这里插入图片描述
统计变换
在这里插入图片描述
堆叠直方图
在这里插入图片描述
并列直方图
在这里插入图片描述
小提琴+箱线图
在这里插入图片描述

(3)ggpubr.R语法

# sthda上有大量ggpubr出的图
library(ggpubr)
ggscatter(iris,x="Sepal.Length",
          y="Petal.Length",
          color="Species")

p <- ggboxplot(iris, x = "Species", 
               y = "Sepal.Length",
               color = "Species", 
               shape = "Species",
               add = "jitter")
p
my_comparisons <- list( c("setosa", "versicolor"), 
                        c("setosa", "virginica"), 
                        c("versicolor", "virginica") )
p + stat_compare_means(comparisons = my_comparisons)+ # Add pairwise comparisons p-value
  stat_compare_means(label.y = 9) 

(4) 图片的保存

#图片的保存和导出
#1. ggplot2系列
ggsave(p,filename = “”)

#2.通用:三段论
保存的格式及文件名
pdf(“test.pdf”)


dev.off() # 结束
在这里插入图片描述

(5)拼图

patchwork包

p1.1 <- violin_plot(dat = dat,gene = dat$CCL5)
p1.2 <- violin_plot(dat = dat,gene = dat$MMP9)
p1.4 <- violin_plot(dat = dat,gene = dat$RAC2)
p1.5 <- violin_plot(dat = dat,gene = dat$CORO1A)
p1.6 <- violin_plot(dat = dat,gene = dat$CCL2)

library(patchwork)
p1 <-  (p1.1 | p1.2 ) /     # 分成两行
  (p1.4 | p1.5 | p1.6)
library(ggplot2)
ggsave("./vertify/GSE100927_vertify.pdf", plot = p1, width = 15, height = 18) 

六、专题

1.数据框的排序

  1. order 或者 tidyverse中的arrange()函数
# order 可以给向量排序,也可以给数据框排序
sort(test$Sepal.Length)
test$Sepal.Length[order(test$Sepal.Length)]

test[order(test$Sepal.Length),]
test[order(test$Sepal.Length,decreasing = T),]

# arrange,更加灵活的排序

library(tidyverse)  # 需要加载这个包
arrange(test, Sepal.Length)
arrange(test, desc(Sepal.Length))
arrange(test, desc(Sepal.Width),Sepal.Length) # 先按照Sepal.Width排序,如果Sepal.Width列相同,再按照Sepal.Length列排序
  1. dplyr包中的mutate、select、filter、rename
    mutate():新增列,rename():重命名列名
    select():筛选列;filter():筛选行

管道符号:%>%:ctrl + shift +m

2.表达矩阵画箱线图

如下图,根据这样的表达矩阵,画出这个图,如果不变换表,是无法成功的
在这里插入图片描述
将长表变成短表,变化操作如下
library(tidyr)
library(tibble)
library(dplyr)
dat = t(exp) %>% as.data.frame() %>% rownames_to_column() %>%
mutate(group = group_list)
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3. 连接

  1. inner_join:交集
  2. left_join:左连接
  3. right_join:右连接
  4. full_join:全连接
library(dplyr)
inner_join(test1,test2,by="name")
inner_join(test1,test2,by=c("name" = "Name")

right_join(test1,test2,by="name")
full_join(test1,test2,by="name")
semi_join(test1,test2,by="name")
anti_join(test1,test2,by="name")

merge():函数
在这里插入图片描述

4. 字符串函数:加载stringr包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

x <- "The birch canoe slid on the smooth planks."

x
###1.检测字符串长度
str_length(x)
length(x)
###2.字符串拆分
str_split(x," ")
x2 = str_split(x," ")[[1]];x2

y = c("jimmy 150","nicker 140","tony 152")
str_split(y," ")
str_split(y," ",simplify = T)

###3.按位置提取字符串
str_sub(x,5,9)

###4.字符检测
str_detect(x2,"h")

###5.字符串替换
str_replace(x2,"o","A")
str_replace_all(x2,"o","A")

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

生信技能树R语言学习 的相关文章

  • R大数定律(Python切比雪夫不等式验证大数定律)模拟圆周率

    大数定律 在概率论中 大数定律 LLN 是描述大量执行相同实验的结果的定理 根据规律 大量试验所得结果的平均值应接近预期值 并随着试验次数的增加而趋于接近预期值 LLN 很重要 因为它保证了一些随机事件的平均值的长期稳定结果 例如 虽然赌场
  • Stata输出统计结果到Excel或word

    目录 一 安装外部包 二 相关命令 三 实例 1 描述性统计结果输出 2 相关性结果输入 3 回归结果输出 1 单模型结果 2 多模型结果 参考 一 安装外部包 在Stata内安装外部包 estout和logout ssc install
  • Rstudio更换主题/样式

    github项目地址 https github com gadenbuie rsthemes 安装 在 rstudio 的控制台console中数据 install packages devtools devtools install gi
  • Error in createDataPartition(...):y must have at least 2 data points

    项目场景 在R中使用caret包 划分训练集和测试集时 出现错误Error in createDataPartition data OS STATUS p 0 5 list FALSE y must have at least 2 data
  • R语言的Rattle可视化BI数据挖掘分析工具

    Rattle介绍 Rattle是一个免费的开源数据挖掘工具包 使用 Gnome 图形界面以统计语言 R编写 它在GNU Linux Macintosh OS X和MS Windows下运行 Rattle正在澳大利亚和国际上用于商业 政府 研
  • R语言与机器学习中的回归方法学习笔记

    来源 http blog sina com cn s blog 62b37bfe0101hom5 html key word lars rpart randomForest cp svm data diabetes prune boosti
  • 三句话,我让R语言自动升级了

    R语言是为数学研究工作者设计的一种数学编程语言 主要用于统计分析 绘图 数据挖掘 跟所有计算机语言一样 R语言也面临升级的问题 本文讲述了最快捷的升级R语言办法 不用重新安装之前的安装包 首先 进入R交互模式 然后三条命令搞定 instal
  • 使用R语言中的survival包进行生存分析是一种常见的统计方法

    使用R语言中的survival包进行生存分析是一种常见的统计方法 在生存分析中 我们经常需要创建一个生存对象来存储事件发生时间和事件状态 在本文中 我们将介绍如何使用survival包中的Surv函数来创建生存对象 并解读其结果 Surv函
  • R语言应用序列模式挖掘揭示客户购买行为:深度学习与机器学习的视角

    目录 序列模式挖掘 一个简介 使用R进行序列模式挖掘 应用深度学习和机器学习改善购买行为预测
  • R语言GGPLOT2绘制圆环图雷达图/星形图/极坐标图/径向图Polar Chart可视化分析汽车性能数据

    最近我们被客户要求撰写关于可视化的研究报告 包括一些图形和统计输出 漂亮的圆形图 我不确定对数据分析师本身是否有额外的好处 但如果能吸引决策者的注意 那对我来说就是额外的价值 然而 用coord polar 或偶尔发现的ggplot2中的c
  • R语言学习笔记:分析学生的考试成绩

    孩子上初中时拿到过全年级一次考试所有科目的考试成绩表 正好可以用于R语言的统计分析学习 为了不泄漏孩子的姓名 就用学号代替了 感兴趣可以下载测试数据进行练习 num class chn math eng phy chem politics
  • 【干货】Chrome插件(扩展)开发全攻略(不点进来看看你肯定后悔)<转>

    干货 Chrome插件 扩展 开发全攻略 不点进来看看你肯定后悔 写在前面 我花了将近一个多月的时间断断续续写下这篇博文 并精心写下完整demo 写博客的辛苦大家懂的 所以转载务必保留出处 本文所有涉及到的大部分代码均在这个demo里面 h
  • 14. Bayesian Networks With Examples in R的学习笔记(贝叶斯网络 bic打分相关)

    bnlearn官网推荐书目 Bayesian Networks With Examples in R 下载了英文版pdf学习了一下 书还是比较浅显易懂的 没有读多少 暂时把自己看的部分整理 翻译到这里留存 欢迎大家交流 pdf下载地址 ht
  • 2021-05-03

    一 R中安装 phyloseq 的方法 很多网上的教程使用的都是 source https bioconductor org biocLite R biocLite phyloseq 但是我尝试了很多次 最后还是没有成功 下面能成功安装 p
  • R语言实现RMF模型

    RMF模型说明 RMF模型是客户管理中 常被用来衡量客户价值和客户创利能力的重要方法 它主要考量三个指标 最近一次消费 Recency 近期购买的客户倾向于再度购买 消费频率 Frequency 经常购买的客户再次购买概率高 消费金额 Mo
  • R语言与多元线性回归方程及各种检验

    R语言与多元线性回归方程及各种检验 文章目录 R语言与多元线性回归方程及各种检验 一 模型建立 二 多重共线性 1 产生的背景 2 多重共线性的检验 1 简单相关系数法 2 方差膨胀因子 vif 法 3 矩阵 X T X
  • R语言实现推荐系统

    目录 1 理论基础 1 1 推荐系统 1 2 R语言 2 数据准备 2 1 数据获取 2 2 数据读取
  • R语言中tidyverse基础知识汇总

    tidyverse group by 分组统计 gather 和spread 简单地说 gather 是列转行 而spread 是行转列 请看下面的示例 gt df id class grade 1 1 a 81 2 2 b 82 3 3
  • 4. 统计描述和基线表格绘制

    目录 1 连续型变量统计描述 单变量统计描述 1 summary函数 2 psych包中的describe 函数 3 Hmisc包中的describe 函数 4 pastecs包的stat desc 的函数 分组统计描述 1 doBy包的s
  • R语言采集获取58商铺出租转让信息

    前两篇文章给我一个朋友分析出店铺商品以及地址房源信息 后来去看了下店铺房租有点贵 还是毛坯房 要自己装修 本着节约成本的原则 熬了个通宵 给他采集了一些转租商铺数据 因为数据比较多 过于先进不方便展示 我就将我爬虫程序的模版展示给大家观看

随机推荐

  • Unity Shader 基础(2) Image Effect

    Unity Shader 基础 2 Image Effect Unity中 Image Effect 是Post Processing的一种方 Unity自身也提供很多Effect效果供使用 Image Effect的使用官方文档做了很多介
  • Vue使用Element-ui表单发送数据和多张图片到后端

    在做项目的时候遇到一个问题 前端需要上传表单到后端 表单数据包括文本内容和图片 后端我用的是Nodejs 效果类似下图 前端需要向后端传商品名称 价格 描述 商品图片 前端准备 利用Element ui中的表单功能和上传功能 将upload
  • 【面试八股文】每日一题:谈谈你对IO的理解

    谈谈你对IO的理解 每日一题 Java核心 谈谈你对对IO的理解 面试八股文 1 Java基础知识 Java IO Input Output 是Java编程语言中用于处理输入和输出的一组类和接口 它提供了一种在Java程序中读取和写入数据的
  • Web前端部署的几种方法和步骤

    随着互联网技术的发展和普及 Web前端开发已成为当今最重要和最具前景的技能之一 与此同时 如何将 Web 前端部署到服务器上已成为一个必不可少的技能 本文将介绍 Web 前端部署的几种方法和步骤 一 前置准备 在开始 Web 前端部署之前
  • linux安装SecureCRT安装教学

    linux安装SecureCRT安装教学 列如 Anolis OS8 6 安装SecureCRT8 0 目录 系列文章目录 linux安装SecureCRT安装教学教学 前言 一 securecrt安装 二 使用步骤 1 创建securec
  • verdi中如何查看force信号信息

    转载 verdi中如何查看force信号信息 骏的世界 lujun org cn 在仿真中 我们会有对信号进行force的操作 从而实现某些特定的功能 但是在仿真波形中 不能直接从波形上看出 这些信号的驱动 是因为前级电路的驱动 还是因为f
  • 为何软文营销能够做到良好的品牌推广效果

    如今的互联网已经不再是十多年前那样只能看看文字 图片 而是一个包罗万象的大集合 其中内容之丰富 已经开始有代替报纸 电视 广播等传统的信息传播途径 因此 越来越多的人选择了互联网 在互联网上的推广效果是越来越给力 面对这么大的宣传平台 很多
  • 三分钟,教你3种前端埋点方式!

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 只有了解用户 我们才能服务好用户 而最接近用户的我们 自然要承担起更多的责任 那么在一个企业中 我们要如何去了解用户呢 最直接有效的方式
  • 警告: Unable to find required classes (javax.activation.DataHandler and javax.mail

    在调试Axis1 4访问WebService服务时 出现以下警告 警告 Unable to find required classes javax activation DataHandler and javax mail internet
  • sip线路对接_线路调度一二三

    使用呼叫中心系统 在进行外呼业务时 坐席的呼出呼叫 最终需要通过各种线路进行呼出 根据线路类别不同 目前常见的有数字中继线 SIP中继对接线路 IMS接入线路 FXO大号模拟线 卡线 API对接线路 除自有线路外 根据供应商类型 主要有各地
  • 【Linux中shell脚本】Linux中shell脚本回车换行问题

    背景 windows下编辑shell脚本 报错 syntax error near unexpected token r 问题产生原因 因为windos与linux换行符不同导致 notepad 中 视图 gt 显示符号 gt 显示所有符号
  • Qt技术重绘QtableView方法

    在项目过程中需要在列表中用图形显示磁盘的使用情况 这用Qt自身的QTableview控件不能完全实现 需要用委托进行重绘 创建一个委托类继承QItemDelegate类 然后实现void paint QPainter painter con
  • 研报精选230410

    目录 行业230410西南证券 医药行业2023年4月投资月报 看好创新药和中药行情 行业230410国信证券 汽车行业4月投资策略 3月新能源乘用车批发销量预计同比增长32 持续关注板块年报季报行情 行业230410西南证券 医药行业周报
  • java------int=20是存在堆里还是栈里

    如果方法里的局部变量 就会存在栈帧里的局部变量表中 如果是成员变量则存在于堆中 它属于int类的一个实例 存放在堆中开辟的空间
  • 【Mo 人工智能技术博客】图卷积网络概述及其在论文分类上的应用

    近年来 深度学习在计算机视觉 自然语言处理等领域大放异彩 这些领域所面对的数据都是结构化的 如图像 音频 文本等 它们内部都有明确的排列规则 结构化的数据由于具有这些确定的规则而方便处理 但是在现实生活中 非结构化的关系数据才是主流 我们无
  • Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源

    国内有很多Ubuntu的镜像源 包括阿里的 网易的 还有很多教育网的源 比如 清华源 中科大源 我们这里以中科大的源为例讲解如何修改Ubuntu 18 04里面默认的源 编辑 etc apt sources list文件 在文件最前面添加以
  • 华为OD机试 - 跳格子1(Java)

    题目描述 小明和朋友玩跳格子游戏 有 n 个连续格子 每个格子有不同的分数 小朋友可以选择以任意格子起跳 但是不能跳连续的格子 也不能回头跳 给定一个代表每个格子得分的非负整数数组 计算能够得到的最高分数 输入描述 给定一个数列 如 1 2
  • 3D游戏设计大作业

    Unity大作业 粒子系统效果 一 前言 1 此篇文章记录了2022年第二学期中山大学软件工程3D游戏与编程的大作业 本次大作业可选择范围众多 最终我选择了粒子系统效果作为了本次大作业的主题 2 一个粒子系统可以模拟并渲染许多称为粒子的小图
  • CRC校验总结

    事实上网上很多CRC校验算法 在接收端进行CRC校验时 余数不为零 这往往是因为CRC校验算法本身是有问题的 但不妨碍我们进行校验 接收端可以对需要校验的字段带入CRC校验算法 计算得到校验值 并与发送数据中的校验值进行比较 如果两者相等
  • 生信技能树R语言学习

    一 数据类型和向量 1 数据类型 1 1 判断数据类型class 1 2 按Tab键自动补全 1 3 数据类型的判断和转换 1 is 族函数 判断 返回值为TRUE或FALSE is numeric 123 is character a i