R语言学习笔记(1)数据结构

作者: 山阴少年 | 来源:发表于2017-12-08 13:55 被阅读11次

使用软件:RStudio, RGUI

R的数据类型:

  • 数值型Numeric,如100,0,-4.335
  • 字符型Character,如“China”
  • 逻辑性Logical,如TRUE,FALSE
  • 复数型,如2+3i
  • 因子型,表示不同类别
  • 特殊类型:NA(缺失值),NULL(空),NaN(非数值),Inf和-Inf(正无穷和负无穷)

样例代码:

age <- c(1,3,5,2,11,9,3,9,12,3)
weights <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
print(mean(weights))
print(sd(weights))
print(cor(age, weights))
plot(age, weights)

R不提供多行注释或块注释功能,但可以用if(FALSE){. .. }实现代码的注释

帮助函数

if(FALSE){打开帮助文档首页}
help.start()
if(FALSE){查看函数mean的帮助}
help("mean")
?mean
if(FALSE){以mean为关键字搜索帮助文档}
help.search("mean")
??mean
if(FALSE){函数mean的使用示例}
example("mean")
if(FALSE){列出当前已加载包中所含的所有可用示例数据集}
data()
R中的帮助函数

目录操作

if(FALSE){查看当前目录}
getwd()
if(FALSE){修改当前的工作目录为mydirectory}
setwd("mydirectory")
if(FALSE){列出当前工作空间中的对象}
ls()
if(FALSE){移除(删除)一个或多个对象}
rm("x")
if(FALSE){退出R}
q()
目录操作函数

包的操作

if(FALSE){安装包}
install.packages("gclus")
if(FALSE){载入包}
library(gclus)
if(FALSE){包的简短描述}
help(package="gclus")

R的数据结构:标量、向量(Vector)、矩阵(Matrix)、数组(Array)、数据框(Data Frame)和列表(List)。
按维度与内容的同质性可分为:

维度 均一(所有内容为同一类型) 非均一
一维 Vector 向量 List 列表
二维 Matrix 矩阵 Data Frame 数据框
三维 Array 数组 /

标量、向量

if(FALSE){标量的创建}
a <- 3
if(FALSE){向量的创建1}
a <- c(1,2,3,4,5)
a <- c("China", "USA", "Japan")
a <- c(FALSE, TRUE, FALSE, TRUE)
if(FALSE){向量的创建2,使用:,a=[1]  1  2  3  4  5  6  7  8  9 10}
a <- 1:10
if(FALSE){向量的创建3,使用seq()函数生成序列,a=[1] 1 3 5 7 9}
a <- seq(1,9,2)
if(FALSE){向量的创建4,使用rep()函数,生成重复序列,a=[1] 2 2 2}
a <- rep(2,3)
if(FALSE){向量的访问,下标从1开始}
a <- c(1,2,3,4,5,6,7)
a[3]
a[c(1,3,5)]
a[2:6]
a[which(a>2)]
向量使用

矩阵

if(FALSE){矩阵的使用,其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按
列填充(byrow=FALSE),默认情况下按列填充。}
mymatrix <- matrix(vector, nrow=num_of_rows, ncol=num_of_cols, byrow=logical_value, dimnames=list(char_vector_rownames,char_vector_colnames))
if(FALSE){矩阵的创建1}
y <- matrix(1:20, nrow=5, ncol=4)
if(FALSE){矩阵的创建2}
cells <- c(1,26,24,68)
rnames <- c("R1","R2")
cnames <- c("C1","C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames = list(rnames, cnames))
if(FALSE){矩阵的创建3,按列排列}
x <- c(1:12)
dim(x) = c(3,4)
if(FALSE){矩阵的访问}
x <- matrix(1:20, nrow=4)
print(x[2,])
print(x[,2])
print(x[2,2])
print(x[3,c(4,5)])
矩阵使用

数组

if(FALSE){数组的使用,vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表}
myarray <- array(vector, dimensions, dimnames)
if(FALSE){数组的创建}
dim1 <- c("A1","A2")
dim2 <- c("B1","B2","B3")
dim3 <- c("C1","C2","C3","C4")
z <- array(1:24, c(2,3,4), dimnames=list(dim1,dim2,dim3))
if(FALSE){数组的访问}
z[,,3]
z[,2,3]
z[1,2,3]

数据框

if(FALSE){数据框的使用,列向量col1, col2, col3,… 可为任何类型(如字符型、数值型或逻辑型)。每一列的名称可由函数names指定,每一列的数据类型必须相同。}
if(FALSE){DataFrame是R语言中最常用的数据结构}
mydata <- data.frame(col1, col2, col3)
if(FALSE){数据框的创建}
patientID <- c(1,2,3,4)
age <- c(25,34,28,52)
diabetes <- c("Type1","Type2","Type1","Type1")
status <- c("Poor","Improved","Excellent","Poor")
patientdata <- data.frame(patientID, age, diabetes, status)
if(FALSE){数据框的访问}
patientdata[1:2]
patientdata[c("age","status")]
patientdata$age
if(FALSE){因子的使用}
patientID <- c(1,2,3,4)
age <- c(25,34,28,52)
diabetes <- c("Type1","Type2","Type1","Type1")
diabetes <- factor(diabetes)
status <- c("Poor","Improved","Excellent","Poor")
status <- factor(status, order=TRUE)
patientdata <- data.frame(patientID, age, diabetes, status)
summary(patientdata)
数据框使用

列表

if(FALSE){列表的使用,列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表允许你整合若干(可能无关的)对象到单个对象名下。}
mylist <- list(object1,object2,...)
if(FALSE){列表的创建}
g <- "My First List"
h <- c(25,26,18,39)
j <- matrix(1:10, nrow=5)
k <- c("one","two","three","four")
mylist <- list(title=g, age=h, j, k)
if(FALSE){列表的访问}
mylist$age
mylist[[3]]

相关文章

  • R语言实战(中文完整版)01

    最近在看R语言教程,希望能够掌握一些炫酷的技能,这是专题笔记01:1.学习笔记:了解R语言的基本数据结构,包括向量...

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

  • 《学习小组Day5笔记--寒鹤》

    R语言之数据结构 今天的学习内容是R语言的数据结构。R语言的数据结构主要有向量(vector),矩阵(matrix...

  • 学习小组Day4笔记--行

    正式开始学习R语言了,今天笔记内容为R语言基础和ggplot2的入门学习 R语言基础 1、认识R与RStudio ...

  • 第2章 创建数据集

    《R语言实战》笔记系列 本章学习大纲 1.R的数据结构 2.输入数据 3.导入数据 4.标注数据 第一部分 R的数...

  • 生信学习小组Day5笔记-lamyusam_

    R语言学习 今天,了解了R中的数据类型,初步学习R语言的数据结构。 R的数据类型 向量(vector) R语言中的...

  • 《学习小组Day 5笔记--JnG》

    R语言:数据结构 课堂笔记 (1)R的赋值符号不是等号,而是<-(2)在Console 控制台输入命令,相当于Li...

  • R语言学习笔记(1)数据结构

    使用软件:RStudio, RGUI R的数据类型: 数值型Numeric,如100,0,-4.335 字符型Ch...

  • R 语言实战 读书笔记

    R语言实战(第2版) 学习笔记 1. R语言介绍 1.1 为什么用R语言 bla 1.2 基本操作 图表演示命令 ...

  • 2020-05-14

    学习小组DAY4笔记-lyq 今天初探R语言 R语言安装 R语言面板在简单了解

网友评论

    本文标题:R语言学习笔记(1)数据结构

    本文链接:https://www.haomeiwen.com/subject/jyseixtx.html