【R每日一贴】R几个概念(一)?
有人问我,怎么学习R?我会说,先吃透R中数据结构,即R中组织数据的形式。我在使用R数据结构的时候,我先希望自己能够弄明白这几个概念。
概念一:向量。向量的主要性质包括:1)向量是同质的,即向量中所有元素具有相同的模式;2)向量可以按照位置索引;3)向量可以按照多重位置索引,返回一个子向量;4)向量的元素可以被命名。举例说明如下。
> vc1 <- c(360, "Hello everyone")
> mode(vc1)
[1] "character"
> vc2 <- c(1, 2, 3, 4, 5)
> vc2[2]
[1] 2
> vc2[c(1, 3)]
[1] 1 3
> vc3 <- c(2, 4, 6)
> names(vc3) <- c("n1", "n2", "n3")
> vc3
n1 n2 n3
2 4 6
> vc3["n2"]
n2
4
概念二:列表。列表的主要性质包括:1)列表是非同质的,即列表中元素类型可以不同;2)列表可以按位置索引;3)列表可以从中抽取子列表;4)列表元素可以有名称。举例说明如下。
> ls1 <- list(a = 1, b = "Hello", c = TRUE)
> ls1
$a
[1] 1
$b
[1] "Hello"
$c
[1] TRUE
> ls1[[1]]
[1] 1
> ls1[c(1, 2)]
$a
[1] 1
$b
[1] "Hello"
> ls1[["a"]]
[1] 1
> ls1$a
[1] 1
概念三:模式。R中,每个对象都有一个模式,表名该对象如何存储在存储器中,使用mode()函数可以查阅对象的模式。举例说明如下。
> mode(pi)
[1] "numeric"
> mode(c(1, 2))
[1] "numeric"
> mode("Hello")
[1] "character"
> mode(list(1, 2))
[1] "list"
> mode(print)
[1] "function"
> mode(data.frame(1:4))
[1] "list"
概念四:类。R中,每个对象有一个定义它的抽象类型的类,可以使用class()函数来查阅。举例说明如下。
> d <- as.Date("2014-8-30")
> mode(d)
[1] "numeric"
> length(d)
[1] 1
> class(d)
[1] "Date"
概念五:标量。标量是只有一个元素的向量。举例说明如下。
> pi
[1] 3.141593
> length(pi)
[1] 1
> pi[1]
[1] 3.141593
> pi[2]
[1] NA
【想一想】
1 R中向量和标量有什么区别,举例说明?
2 R中类怎么理解?
【做一做】
1通过R帮助文档查阅mode函数和class函数?
2 定义一个列表,至少采用两种方法获取列表的元素?
【温馨话语】
爱我所做,做我所爱!
我是陆勤,微信号:wangluqing360,你们在R路上的朋友,一起欣赏R路上的风景。PPV课R语言群:342699237,欢迎朋友们加入,共建最好的R社区。
赠人玫瑰,手有余香。若是觉得此文有用,欢迎分享给更多的人,让更多的人受用。
你若安好,便是晴天。若是朋友们有什么想法或建议,欢迎给我留言或者私信于我。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!