R语言数据类型

数据类型

包括如下几种类型:

  • Array
  • Data Frame
  • Factor
  • Matrix
  • Vector
  • Complex
  • Date/Time
  • List
  • Operators

Array

格式: array(data=NA,dim=length(data),dimnames=NULL)

x<-array(1:9)
x
## [1] 1 2 3 4 5 6 7 8 9
x<-array(1:9,c(3,6))
x
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    1    4    7    1    4    7
## [2,]    2    5    8    2    5    8
## [3,]    3    6    9    3    6    9
x<-1:64
dim(x)<-c(2,4,8)
is.array(x)
## [1] TRUE
x
## , , 1
## 
##      [,1] [,2] [,3] [,4]
## [1,]    1    3    5    7
## [2,]    2    4    6    8
## 
## , , 2
## 
##      [,1] [,2] [,3] [,4]
## [1,]    9   11   13   15
## [2,]   10   12   14   16
## 
## , , 3
## 
##      [,1] [,2] [,3] [,4]
## [1,]   17   19   21   23
## [2,]   18   20   22   24
## 
## , , 4
## 
##      [,1] [,2] [,3] [,4]
## [1,]   25   27   29   31
## [2,]   26   28   30   32
## 
## , , 5
## 
##      [,1] [,2] [,3] [,4]
## [1,]   33   35   37   39
## [2,]   34   36   38   40
## 
## , , 6
## 
##      [,1] [,2] [,3] [,4]
## [1,]   41   43   45   47
## [2,]   42   44   46   48
## 
## , , 7
## 
##      [,1] [,2] [,3] [,4]
## [1,]   49   51   53   55
## [2,]   50   52   54   56
## 
## , , 8
## 
##      [,1] [,2] [,3] [,4]
## [1,]   57   59   61   63
## [2,]   58   60   62   64
x[1,,]
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]    1    9   17   25   33   41   49   57
## [2,]    3   11   19   27   35   43   51   59
## [3,]    5   13   21   29   37   45   53   61
## [4,]    7   15   23   31   39   47   55   63
x[1,2,]
## [1]  3 11 19 27 35 43 51 59
x[1,2,1]
## [1] 3

Data Frame

data(BOD)
x<-BOD
is.matrix(x)
## [1] FALSE
is.data.frame(x)
## [1] TRUE
class(x)
## [1] "data.frame"
x
##   Time demand
## 1    1    8.3
## 2    2   10.3
## 3    3   19.0
## 4    4   16.0
## 5    5   15.6
## 6    7   19.8
y<-x[2,]
is.list(y)
## [1] TRUE
is.data.frame(y)
## [1] TRUE
x$Time
## [1] 1 2 3 4 5 7
x$demand
## [1]  8.3 10.3 19.0 16.0 15.6 19.8
attach(x)
demand
## [1]  8.3 10.3 19.0 16.0 15.6 19.8
demand<-demand + 10
demand
## [1] 18.3 20.3 29.0 26.0 25.6 29.8
x$demand
## [1]  8.3 10.3 19.0 16.0 15.6 19.8
detach(x)
demand
## [1] 18.3 20.3 29.0 26.0 25.6 29.8

Factor

格式: factor(x = charactor(),levels,labels = levels,exclude = NA,ordered = is.ordered(x))

v<-c(1,3,5,8,2,1,3,5,3,5)
is.factor(v)
## [1] FALSE
factor(v)
##  [1] 1 3 5 8 2 1 3 5 3 5
## Levels: 1 2 3 5 8
x<-factor(v)
x
##  [1] 1 3 5 8 2 1 3 5 3 5
## Levels: 1 2 3 5 8
is.factor(x)
## [1] TRUE
x<-factor(v,levels = c(2,1))
levels(x)<-c("two","one")
x
##  [1] one  <NA> <NA> <NA> two  one  <NA> <NA> <NA> <NA>
## Levels: two one

Matrix

A<-matrix(c(3,5,7,1,9,4),nrow = 3,ncol = 2,byrow = TRUE)
A
##      [,1] [,2]
## [1,]    3    5
## [2,]    7    1
## [3,]    9    4
rA<-nrow(A)
rA
## [1] 3
cA<-ncol(A)
cA
## [1] 2
B<-t(A)
B
##      [,1] [,2] [,3]
## [1,]    3    7    9
## [2,]    5    1    4
C<-A*A
C
##      [,1] [,2]
## [1,]    9   25
## [2,]   49    1
## [3,]   81   16
C<-A+A
C
##      [,1] [,2]
## [1,]    6   10
## [2,]   14    2
## [3,]   18    8

Vector

v<-c(2,3,5.5,7.1,2.1,3)
v
## [1] 2.0 3.0 5.5 7.1 2.1 3.0
assign("v",c(2,3,5.5,7.1,2.1,3))
c(2,3,5.5,7.1,2.1,3) -> v
v
## [1] 2.0 3.0 5.5 7.1 2.1 3.0
v[3]
## [1] 5.5
1/v
## [1] 0.5000000 0.3333333 0.1818182 0.1408451 0.4761905 0.3333333
2+v
## [1] 4.0 5.0 7.5 9.1 4.1 5.0
v2<--v+1/v+5
v2
## [1]  3.5000000  2.3333333 -0.3181818 -1.9591549  3.3761905  2.3333333
is.vector(v)
## [1] TRUE
is.vector(3,mode = "any")
## [1] TRUE
is.vector(3,mode = "list")
## [1] FALSE
x<-1:10
v
## [1] 2.0 3.0 5.5 7.1 2.1 3.0
x<-rep(2,10)
v
## [1] 2.0 3.0 5.5 7.1 2.1 3.0
v<-seq(1,5,by = 0.5)
v
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
v<-seq(length = 10,from = 1,by =0.5)
v
##  [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5

Complex

格式: complex(length.out=0,real=numeric(),imaginary=numeric(),modulus=1,argument=0)

函数

  • as.complex()
  • is.complex()
  • Re()
  • Im()
  • Mod()
  • Arg()
  • Conj()
  • length.out: Desired length of the output vector, inputs being recycled as needed
library(graphics)
z<-complex(real = stats::rnorm(100),imaginary = stats::rnorm(100))
z
##   [1]  0.5200295-2.2646912i -0.5322567+0.0779762i -2.3800465+0.7640518i
##   [4]  0.7011146-1.5866943i -1.5544585+0.9682606i  2.5980975-0.5449572i
##   [7] -1.0006683-0.0431467i  1.3431015-1.8346469i -0.4170697-0.1060395i
##  [10]  1.0495727+0.2481264i -1.1598388-0.3027608i -1.1415871-0.9839143i
##  [13]  0.9634596-0.3406711i -0.6469331+0.5942862i  0.3491618+1.1139532i
##  [16] -0.2643147+0.0519278i  0.6534257-1.3681752i -2.0621975+1.7368652i
##  [19] -0.4978312+2.4327759i  0.2072797-1.4709151i -1.1051954+0.3610744i
##  [22] -0.5659170-0.6280635i  0.8336062-1.2781031i -0.0378319+0.7158486i
##  [25] -1.6976023+0.1562052i  0.9617835-0.4216835i -1.5994119+0.0569988i
##  [28]  0.0514633-0.2842285i -0.6288963+0.2978067i  1.7278770-0.7497994i
##  [31]  1.0417099+0.0707912i  0.5190370+0.7463731i  0.4725722+0.8511658i
##  [34]  0.0945794-0.8224629i -0.7348969+0.2633703i -0.3660376+0.7127934i
##  [37]  1.3866084+0.5275001i  1.5448222+0.8082621i  1.2042018-0.1581438i
##  [40] -1.4237678+0.1370675i -0.0881483+2.8495642i -0.0400514-0.2569562i
##  [43] -0.6825624-1.0050652i  2.5456405+1.6611583i  0.0205514-0.6191978i
##  [46]  0.5180435+0.3025533i  0.3526055+0.6939888i -0.1410374-1.6014629i
##  [49]  0.8880902+0.0202024i -0.4442246+0.2276906i  0.0481735-0.9808916i
##  [52]  0.5404179+0.6190054i -1.4538082+2.3068149i  0.4927693-0.0660740i
##  [55]  1.3784518+0.7746101i  0.4527109-1.0455589i  0.2950279-0.8670672i
##  [58]  0.6241538-1.3237922i  0.7379039-0.3067607i  1.3496676-1.1139908i
##  [61] -0.3770614+0.1915712i -0.7320517-1.0273366i  0.7041309+0.4240790i
##  [64] -0.8238194-0.5443358i -0.1569915+0.4223923i -0.0821708+0.4785644i
##  [67]  1.2273175+0.1608278i -1.6662780+0.2332501i  0.3141801+0.6644287i
##  [70] -0.2627204+0.1527057i  0.6326420+1.6541494i -3.0225302-0.0828999i
##  [73] -0.5267586-0.5149930i -0.1209515+0.9474985i -0.4087781+0.5585448i
##  [76]  1.2355654-0.3827317i  0.6464085+1.1398532i  1.3652592+0.6154433i
##  [79] -1.9035074-0.1179588i  0.8216094+3.0352598i  0.5479892+0.0764115i
##  [82]  0.6781626+0.1278338i  0.3997126-0.6050511i  0.0183661-1.2055350i
##  [85]  0.1103128+0.1660670i  0.6035714+0.7507500i  0.1462197+0.2927559i
##  [88]  0.6771124+2.4199871i -0.4632352-0.6433767i -3.1092950-1.6220725i
##  [91] -2.1641098+0.2462180i  0.0804014+0.8360996i  0.6468068+1.2322475i
##  [94] -0.9611167+0.0499096i  1.2155416-0.1811604i  1.1560557-0.5548846i
##  [97]  0.2000294-0.9172184i -0.1139657+0.9069213i  1.1837461+1.2375861i
## [100]  0.5024251+0.5594804i
z1<-1:2+1i*(8:9)
z1
## [1] 1+8i 2+9i
zz<-(rep(1:4,len = 9)+1i*(9:1))/10
zz
## [1] 0.1+0.9i 0.2+0.8i 0.3+0.7i 0.4+0.6i 0.1+0.5i 0.2+0.4i 0.3+0.3i 0.4+0.2i
## [9] 0.1+0.1i
zz.shift<-complex(modulus = Mod(zz),argument = Arg(zz) + pi)
plot(zz,xlim = c(-1,1),ylab = c(-1,1),col = "red",asp = 1,
     main = expression(paste("Rotation by","",pi == 180^o)))
abline(h = 0,v = 0,col = "blue",lty = 3)
points(zz.shift,col = "orange")

图片

Date/Time

date()
## [1] "Sat Jul 23 18:48:06 2016"
Sys.Date()
## [1] "2016-07-23"
Sys.time()
## [1] "2016-07-23 18:48:06 CST"
class(date())
## [1] "character"
class(Sys.Date())
## [1] "Date"
class(Sys.time())
## [1] "POSIXct" "POSIXt"
x<-"19:18:05"
y<-strptime(x,"%H:%M:%S")
y
## [1] "2016-07-23 19:18:05 CST"
class(y)
## [1] "POSIXlt" "POSIXt"
y$sec
## [1] 5


其他格式的时间类型:


其它的类型

List

x<-list(batch = 3,label = "Lung Cancer Patients",subtype = c("A","B","C"))
x
## $batch
## [1] 3
## 
## $label
## [1] "Lung Cancer Patients"
## 
## $subtype
## [1] "A" "B" "C"
is.list(x)
## [1] TRUE
x[[1]]
## [1] 3
x[[2]]
## [1] "Lung Cancer Patients"
x[[3]]
## [1] "A" "B" "C"
x[[3]][2]
## [1] "B"
x$subtype
## [1] "A" "B" "C"
x[["subtype"]]
## [1] "A" "B" "C"
length(x)
## [1] 3
y<-list(operator = "Mary",location = "New York")
y
## $operator
## [1] "Mary"
## 
## $location
## [1] "New York"
z<-list(cost = 1000.24,urgent = "yes")
z
## $cost
## [1] 1000.24
## 
## $urgent
## [1] "yes"
final_list<-c(x,y,z)
final_list
## $batch
## [1] 3
## 
## $label
## [1] "Lung Cancer Patients"
## 
## $subtype
## [1] "A" "B" "C"
## 
## $operator
## [1] "Mary"
## 
## $location
## [1] "New York"
## 
## $cost
## [1] 1000.24
## 
## $urgent
## [1] "yes"
y<-as.data.frame(x)
y
##   batch                label subtype
## 1     3 Lung Cancer Patients       A
## 2     3 Lung Cancer Patients       B
## 3     3 Lung Cancer Patients       C
y<-as.matrix(x)
y
##         [,1]                  
## batch   3                     
## label   "Lung Cancer Patients"
## subtype Character,3

Operators

操作数
+
-
/
^
%%
%/%
<
>
=
<=
>=
!=
!
|
&

'+' <- function(x,y) x*y
3+5
## 15
rm('+')
3+5
## 8
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 数据类型变量不会声明为某种数据类型。 变量分配有R对象,R对象的数据类型变为变量的数据类型常用R对象类型矢量列表矩...
    yuanyb阅读 684评论 0 0
  • 引用部分为台版翻译,以大师之文自勉 前情提要 詹吉讲述了袋底洞的历史,警告了那些想搞事的人。 paragraph ...
    MrGod阅读 1,161评论 2 2
  • 过年了,在外打拼的人们大多都回到了老家,和年迈的父母,幼小的孩子聚在一起,热热闹闹地过一个快乐的春节。 1 我是腊...
    worldlyf阅读 278评论 0 1
  • 持久化存储方式可以是SQLite数据库,也可以是XML文档,甚至可以是直接以聂村作为持久化存储设备(应用重启时,数...
    nalis风阅读 315评论 0 0