R语言基础数据形式与命令

程序包

下载 安装

install.packages("包名") #安装一个包
install.packages(c("包名1","包名2",……)) #安装多个包

当然下载包也可以先下载到本地再进行安装
例如,从CRAN https://cran.r-project.org/网站上下载R的.gz压缩包到本地,再安装;

install.packages("路径+文件名")

同样的也可以在Github上下载zip文件,解压,setwd()进入解压后的文件夹,安装

devtools::install_local()

载入使用

library(包名)

常用资源

CRAN资源,是目前最常用的R程序包发布站点

install.packages("ggplot2")

Bioconductor资源,是生物信息学相关的R语言包,发布网点 https://www.bioconductor.org/

install.packages("BiocManager") #先安装BiocManager包
BiocManager::install("GenomicFeatures")#再调用BiocManager包里的install函数安装相应的R包

Github资源,这个应该就不用说了吧,全球最大的开源代码分享社区,部分的R包会分享在这个网站上

#方式一:devtools
install.packages("devtools")#先安装devtools包
devtools::install_github("github的用户名/包名")#在调用上包里的install_github函数安装

#方式二:remotes
install.packages("remotes")#先安装remotes包
remotes::insall_github("github的用户名/包名")#再调用remotes包里的install_github函数安装

基础语法

  • getwd() 获取当前路径

  • typeof() 查看数据类型

  • x%in%y 成员运算符 判断元素是否属于某一向量

  • toupper() 将字符串内的字母转成大写

  • tolower() 将字符串内的字母转成小写

  • paste(a,b,sep=“”) 字符串连接

  • range() 返回向量中的最值,digits设置保留位数

  • prod() 计算向量连乘的积

  • which.min(x) 返回向量x中最小值索引

  • numeric(n) 返回n个0,组成一个向量

  • sort() 排序,默认升序

  • order() sort()排序后对应的序号,位置序号

  • rank(x) x中每个元素大小排名

  • unique() 去重

  • union(x,y) 向量x,y的并集

  • intersect(x,y) 向量x,y的交集

  • setdiff(x,y) 向量x中有,y没有的

  • identical(x,y) 判断向量x与y是否相等

  • grep(筛选条件,x数据来源,ignore.case=T/F是否忽略大小写)

  • dim(x) 如dim(x)<-c(4,5),自动生成一个四行五列的矩阵;dim(x)<-c(4,5,2),生成一个含有2个四行五列矩阵的数组

因为自己不太熟练,这里重点说一下下面这些,
向量中的元素为同一类型
矩阵是二维,数组维度可以大于二,可以理解为多个矩阵

矩阵

matrix(元素,nrow=行数,ncol=列数,byrow=T/F默认按列填充,dimnames=list(行名,列名))
矩阵中常用的函数

  • cbind() 按列合并,增加列
  • rbind() 按行合并,增加行
  • rowSums() 每行和
    同理
  • colSums()
  • rowMeans()
  • colMeans()
数组

array(元素,c(每个矩阵行数,列数,矩阵个数),dimnames=list(每个矩阵的行名,列名,每个矩阵名字))

数据框

data.frame(列1,列2,列3,……)
矩阵数据框常用函数

  • dim() 返回行数和列数
  • t() 转置
  • rev() 反转,与转置不同,反转例如全颠倒123,321
    对于数据框列的操作,有时只改变一列可以使用
  • transform(df,列1名=新列)

也可用矩阵的方式合并数据框,
但是数据框的合并有可能有重复行的存在,对于这些重复行

duplicated(df) #用来判断数据框中重复行,重复行会返回TRUE
df[duplicated(df),]  #提取出所有仅重复的行
df[!duplicated(df),]  #提取出所有非重复的行 

#或者直接用
unique(df) #直接去重

另还有

  • merge(df1,df2,by="按照哪一列”,all=T/F)
    T,会显示所有;F只显示重复的

  • edit() 可生成表格

列表

列表是R数据类型中最复杂的一种,无行列之分(划分区类)
list(name1=object1,name2=object2,name3=object3……)
object可以是向量、矩阵、数据框,甚至是另一个列表

因子

factor( 元素,levels=c(“”,“”,……))

另外说一下日期
R中生成时间序列用

ts(数据x, start=c(开始年份,月份),end=c(结束年份,月份),freauency=)

这里的freauency是一年技术的频率,一般写为4,按季度;或者是12,按月份。

数据的读写与存储

读取txt文件
read.table(f,header=T/F,seq=“”,……)

读取csv文件
read.csv(),readr包里的read_csv()读取速度更快

读取excel文件
转化为csv
或 使用剪贴板,再excel中选中区域,在R中键入命令read.delim(“clipboard”),如果复制的区域不含列名,应加上header=F
或使用别的包 openxlsx::read.xlsx()
本人一般直接转化为csv

读取文件也可
install.packages(“data.table”)
data.table::fread(f,skip=跳过的行数,data.table=F)
可用于读取大文件,速度快,支持读取.gz,.bz2文件,不需解压,需要安装R.utils包,默认读取后的类型为data.table和data.frame()

想载入大数据例如数据库时
下载R的RODBC包,这个包为数据库的连接提供了多种接口,若使用某种数据库,需加载某种与ODBC包相连的包才可以使用,例如连接MySQL就加载RMySQL包即可使用。

写入文件
write.table(),写入txt
write.csv()
write.xlsx()
在这里插入图片描述
(学习用,侵权删)

保存
setwd()定位路径 save(文件,file=文件名)
load()

清除缓存变量
rm()
rm(list=ls()) 所有变量都被删除

补一句:R中的排序第一个就是1,不想python那样取值开始排序记为0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 R 语言中的各种数据可视化库来进行食道癌数据的分析和可视化。以下是一些常用的库和技术,可以帮助你实现这个目标: 1. ggplot2:这是一个非常流行的数据可视化库,它提供了丰富的绘图函数和灵活的图层系统,可以生成各种类型的图表,如散点图、折线图、柱状图等。 2. plotly:这是一个交互式数据可视化库,可以创建漂亮且交互式的图表,支持绘制散点图、箱线图、热力图等。 3. lattice:这个库提供了一种基于网格布局的多变量数据可视化方法,可以创建并列的多面板图(trellis plots),非常适合探索多个变量之间的关系。 4. ggvis:这个库是基于 ggplot2 的扩展,支持交互式探索性数据可视化,可以动态地改变图表属性和参数。 5. shiny:这是一个 R 语言的 Web 应用框架,可以帮助你将数据可视化结果以交互式应用的形式展示出来,让用户可以自由地探索数据。 在开始之前,你需要确保已经安装了相应的库。如果还没有安装,可以使用以下命令进行安装: ```R install.packages("ggplot2") install.packages("plotly") install.packages("lattice") install.packages("ggvis") install.packages("shiny") ``` 一旦你有了数据和所需的库,就可以开始进行数据可视化分析。你可以根据你的具体需求选择适合的图表类型,并使用相应的库来生成可视化结果。例如,如果你想绘制食道癌发病率和年龄之间的关系,可以使用 ggplot2 库来创建一个散点图: ```R library(ggplot2) # 假设你的数据框名称为 df,其中包含食道癌发病率(rate)和年龄(age)两列数据 ggplot(data = df, aes(x = age, y = rate)) + geom_point() ``` 这只是一个简单的例子,你可以根据你的数据和需求进行更复杂的分析和可视化。希望这对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值