R极简教程-6:基本语法

R语言的基本语法不复杂,远远不像Ruby那样一个东西有各种写法,所以学起来很快,写R语言最重要的一点就是,脑子里一定要有向量、矩阵、列表这样的概念。

额外说一句,我听过一句话,判断一个人聪不聪明,就是看他有没有能力把复杂的问题拆散成小部分,然后逐个去完成,最后把整个问题综合起来解决。这句话很适合编程,无论需要写多大的程序,你都只需要把那个问题分散出来,分成一个部分,一个循环,一个判断,一个读取,一个输出……然后一步一步,像乐高积木一样去解决这个问题。

首先介绍一下R语言中的数据结构,主要有Vector, List, matrix, DataFrame, Array, Facter。其中最常用的有DaraFrame, matrix, list, vecter. 个人不太推荐factor,因为factor在做计算的时候,经常会需要做character转换,而如果你忘记做转换了,程序依然会运行,但是结果是错的,因为factor会自动编程某一个数字。

以下部分内容摘自w3cschool.

Vectors 向量

当你想用多个元素创建向量时,你应该使用c()函数,这意味着将元素组合成一个向量。简而言之,向量就是一系列相同属性的元素的集合。

Vector对应的一个循环函数是sapply,简直就是神器……

# Create a vector.
apple <- c('red','green',"yellow")
print(apple)
# Get the class of the vector.
print(class(apple))
当我们执行上面的代码,它产生以下结果
[1] "red"    "green"  "yellow"
[1] "character"

Lists 列表

列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表。列表非常好用,你可以再一个列表中包含一系列东西,我经常用它构建多维数组(可能不是最好的办法),再加上lapply函数,非常好用。

# Create a list.
list1 <- list(c(2,5,3),21.3,sin)
# Print the list.
print(list1)
[[1]]
[1] 2 5 3

[[2]]
[1] 21.3

[[3]]
function (x)  .Primitive("sin")

Matrices 矩阵

矩阵是二维矩形数据集。 它可以使用矩阵函数的向量输入创建。矩阵运算是R胜过其他大部分编程语言的优势,所以矩阵是很常见的一种格式。有时候,人们会分不清矩阵和DataFrame,感觉用起来差不多,但实际上DataFrame应该用来存储数据,而Matrix更适合单纯的运算分析。换言之,最好矩阵中的所有数值,都是一类的元素。不要列与列之间是不同的东西。 Matrix对应的快捷循环函数是apply(),其中你设置第二个参数就可以决定是按行apply还是按列apply。

# Create a matrix.
M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)
print(M)

当我们执行上面的代码,它产生以下结果

     [,1] [,2] [,3]
[1,] "a"  "a"  "b" 
[2,] "c"  "b" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值