r语言 新增一列数字类型_R语言实战之R语言基础语法精讲(一)

本文是R语言基础语法精讲的第一部分,主要介绍R中的数据结构,包括向量、矩阵、数组、数据框和列表。通过学习,您可以掌握如何创建和操作这些数据结构,以及R语言的基本运算和函数,为R语言编程打下坚实基础。
摘要由CSDN通过智能技术生成

e27fe077-ff0f-eb11-8da9-e4434bdf6706.png

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。在学习R数据科学之前,我们首先要对R语言的基础语法有一个良好的了解,方便我们理解以后的数据科学算法。本次语法精讲分三次讲完,每次负责讲解其中一部分!本次的R语言语法精讲(一)主要介绍了 R语言的数据结构,R语言的运算以及R语言的编程结构。学完本文后,您将可以具备初步的R语言编程技巧,并能编写大部分程序以及算法。

本文引用:

《R语言实战--第2版》---------Robert I.Kabacoff 《统计计算与模拟》课程课件-------深圳大学林炳清老师

本文内容:

  • R常用数据结构(本文)
  • R的运算以及常用函数(本文)
  • R语言编程结构(本文)
    判断if-else(本文)
    循环for、while、repeat(本文)
    自定义函数(本文)
  • R的输入与输出
  • R基础绘图
  • 基本数据管理
  • 高级数据管理

1. R常用数据结构

R拥有许多用于存储数据的对象类型,包括标量、向量、矩阵、数组、数据框和列表。它们在存储数据的类型、创建方式、结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同。

e87fe077-ff0f-eb11-8da9-e4434bdf6706.png

1.1 向量(Vector)

我们可以把vector想象:vector是一串糖葫芦,把山楂都串在一起。vector包含的是一串数据,要求这一串的数据类型是一样的。在R中,常见的数据类型有3种:

  • numeric (数值型, Ex, 1, 3.14, -2。在R中,我们可以不区分整数型,浮点型,双精度型等)
  • character (字符型, Ex, “a”, “hello world”)
  • logical (布尔型, Ex, “TRUE” and “FALSE”)

(1) 创建向量:

我们可以使用 c() 创造一个vector, c是英文单词cancatenate的缩写,意思是连结,连锁。所以c()可以把括号里的数字或者其他的数据类型的元素串成一个vector. 例如:(<-代表R语言中的赋值符号,绝大多数也可以用=代替;相当于python的“=”)

a 

ed7fe077-ff0f-eb11-8da9-e4434bdf6706.png

这里,a是数值型向量,b是字符型向量,而c是逻辑型向量。 注意,单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型) 。同一向量中无法混杂不同模式的数据。

(2) 向量vector的索引

vector索引指的是R会给vector的每个元素一个位置坐标。R的位置坐标从1开始,从左到右依次给予vector的每个元素。例如:

a <- c("k", "j", "h", "a", "c", "m") 
a[3]
a[c(1, 3, 5)] 
a[2:6]

f57fe077-ff0f-eb11-8da9-e4434bdf6706.png

此外,我们还可以很方便的输出vector除去某些位置的对应元素后的vector, 例如:

x  <- c(1, 3, 6, 4)
x[-c(3, 4)]

fa7fe077-ff0f-eb11-8da9-e4434bdf6706.png

我们还可以用names()函数给vector的每一个元素赋予一个名字,例如:

score <- c(98, 100, 60, 20)                      # score 表示一次考试的成绩
names(score) <- c("Lin", "Wang", "Chen", "Sun")  # score 每一个成绩对应的人名
score
score[2]
score["Wang"]   # 可以通过vector元素的名字得到第二个同学的成绩

fe7fe077-ff0f-eb11-8da9-e4434bdf6706.png

(3) 产生常用vector的方法::, seq(), rep()

1:50
6:2
-5:-10
seq(from = 3, to = 10)
seq(from = 1, to = 10, by = 2)   # seq()可以自定义递增或者递减的步长
rep(10, 5)    # 产生一个vector, 该vector包含5个10
rep(c(2:4), 3) # 产生一个vector, 该vecotr包含3个 `c(2:4)`
rep("I Love R!", 3)

0280e077-ff0f-eb11-8da9-e4434bdf6706.png

1.2 矩阵matrix

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。可通过函数matrix()创建矩阵。一般使用格式为:

myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE) ,默认情况下按列填充。代码清单2-1中的代码演示了matrix函数的用法。

(1) 创建矩阵

我们首先创建了一个5×4的矩阵, 接着创建了一个2×2的含列名标签的矩阵, 并按行进行填 充,最后创建了一个2×2的矩阵并按列进行了填充。

y <- matrix(1:20, nrow=5, ncol=4)  # 创建一个5×4的矩阵
y
cells    <- c(1,26,24,68)
rnames   <- c("R1", "R2")
cnames   <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,    # 按行填充的2×2矩阵 
                     dimnames=list(rnames, cnames)) 
mymatrix
mymatr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值