R语言学习(3)

列表和数据框

1.列表

list函数创建列表

> (a_list <- list(c(1,1,2,5,14,42),month.abb,matrix(c(3,-8,1,-3),nrow=2),asin))

[[1]]

[1]  1  1  2  5 14 42

[[2]]

[1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"

[[3]]

[,1] [,2]

[1,]    3    1

[2,]   -8   -3

[[4]]

function (x)  .Primitive("asin")

给列表元素命名

> names(a_list) <- c("catalan","month","involutary","arcsin")

> a_list

$catalan

[1]  1  1  2  5 14 42

$month

[1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"

$involutary

[,1] [,2]

[1,]    3    1

[2,]   -8   -3

$arcsin

function (x)  .Primitive("asin")

列表长度是它顶层元素的数目:

> length(a_list)

[1] 4

列表没有维数

> dim(a_list)

NULL

使用as.list函数将向量转换成列表

> a_vector <- c(1,6,7,8)

> as.list(a_vector)

[[1]]

[1] 1

[[2]]

[1] 6

[[3]]

[1] 7

[[4]]

[1] 8

2.数据框

data.frame函数创建数据框

> (a_data_frame <- data.frame(x=letters[1:5],y=rnorm(5),z=runif(5)>0.5))

x           y     z

1 a  0.47620421  TRUE

2 b -0.04279112 FALSE

3 c  1.49076637 FALSE

4 d -0.41444402  TRUE

5 e -1.03173668  TRUE

每一列中的元素类型一样

基本数据框操作

t函数转置

> t(a_data_frame)

[,1]          [,2]          [,3]          [,4]          [,5]

x "a"           "b"           "c"           "d"           "e"

y " 0.47620421" "-0.04279112" " 1.49076637" "-0.41444402" "-1.03173668"

z " TRUE"       "FALSE"       "FALSE"       " TRUE"       " TRUE"

cbind, rbind连接数据框

> (a_data_frame <- data.frame(x=letters[1:5],y=rnorm(5),z=runif(5)>0.5))

x           y     z

1 a -0.17804129 FALSE

2 b -1.28864149 FALSE

3 c -0.99590504 FALSE

4 d  0.01776164 FALSE

5 e  1.37784685 FALSE

> (another_data_frame <- data.frame(z=rlnorm(5),y=sample(5),x=letters[3:7]))

z y x

1 2.6574401 4 c

2 3.3455939 3 d

3 0.4205031 1 e

4 3.3006536 5 f

5 1.7008018 2 g

> rbind(a_data_frame,another_data_frame)

x           y         z

1  a -0.17804129 0.0000000

2  b -1.28864149 0.0000000

3  c -0.99590504 0.0000000

4  d  0.01776164 0.0000000

5  e  1.37784685 0.0000000

6  c  4.00000000 2.6574401

7  d  3.00000000 3.3455939

8  e  1.00000000 0.4205031

9  f  5.00000000 3.3006536

10 g  2.00000000 1.7008018

> cbind(a_data_frame,another_data_frame)

x           y     z         z y x

1 a -0.17804129 FALSE 2.6574401 4 c

2 b -1.28864149 FALSE 3.3455939 3 d

3 c -0.99590504 FALSE 0.4205031 1 e

4 d  0.01776164 FALSE 3.3006536 5 f

5 e  1.37784685 FALSE 1.7008018 2 g

R语言学习(3)

时间: 2024-12-25 14:59:13

R语言学习(3)的相关文章

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

R语言学习(5)-字符串和因子

字符串和因子 1.字符串 创建字符串 > c("HELLO","WORLD") [1] "HELLO" "WORLD" 使用paste函数连接字符串 > paste(c("hello","hi"),"world") [1] "hello world" "hi world" > paste(c("hel

R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数

遇到了小bug: R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数 看到网上别人的做法,发现了用class(A)和class(B)之后才发现,是因为读入的时候数据的类型不对,A.B的类型并不是matrix,才导致了这个问题. 用as.matrix来变型一下,就OK了. R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数,布布扣,bubuko.com

R语言学习(2)

向量矩阵和数组 1.vector函数可以创建指定类型.长度的矢量 (其结果中的值可以是0,FLASE,空字符串) > vector("numeric",5) [1] 0 0 0 0 0 > vector("complex",6) [1] 0+0i 0+0i 0+0i 0+0i 0+0i 0+0i > vector("logical",6) [1] FALSE FALSE FALSE FALSE FALSE FALSE > 

R语言学习(4)-环境和函数

环境和函数 1.环境 使用new.env函数创建环境 > an_environment <- new.env() 向环境中分配变量与列表相同 > an_environment[["pythag"]] <- c(12,15,20,21) > an_environment$root <- polyroot(c(6,-5,1)) > assign("moonday",weekdays(as.Date("1969/07/2

R语言学习(1)

将R作为科学计算器使用 1.例: > 1:5 + 6:10 [1]  7  9 11 13 15 > c(1,3,5,7,9)+c(2,4,6,8,10) [1]  3  7 11 15 19 > median(2:5) [1] 3.5 > 1:10 / 3 [1] 0.3333333 0.6666667 1.0000000 1.3333333 1.6666667 2.0000000 2.3333333 [8] 2.6666667 3.0000000 3.3333333 > 

R语言学习笔记 之 可视化地研究参议员相似性

基于相似性聚类 很多时候,我们想了解一群人中的一个成员与其他成员之间有多么相似.例如,假设我们是一家品牌营销公司,刚刚完成了一份挂怒有潜力新品牌的研究调查问卷.在这份调查问卷中,我们向一群人展示了新品牌的几个特征,并且要求他们对这个新品牌的每个特征按五分制打分.同时也收集了目标人群的社会经济特征,例如:年龄.性别.种族.住址的邮编以及大概的年收入. 通过这份调查问卷,我们想搞清楚品牌如何吸引不同社会经济特征的人群.最重要的是,我们想要知道这个品牌是否有很大的吸引力.换个角度想这个问题,我们想看看

R语言学习笔记(二)

今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") > head(mtcars[vars]) mpg hp wt Mazda RX4 21.0 110 2.620 Mazda RX4 Wag 21.0 110 2.875 Datsun 710 22.8 93 2.320 Hornet 4 Drive 21.4 110 3.215 Hornet Sportab