R语言创建向量、数据框以及数据框的操作

作业:2019.04.23- 笔记整理

1.创建一个向量元素为a,b,e,2,5

创建向量时,先给向量命名,如letters,名字后加“<-符号,接着写函数c(元素)”,如“letters <- c(a,b,c,2,5)”。输入"<-"的方法:同时按“alt和-”或先按"<"再按"-"。

letters <- c(a,b,c,2,5)

2.确定上述向量中每个元素的数据类型

向量只有一行,向量里元素的数据类型操作:class(向量名称[第几列]),如下:

class(letters[1])
class(letters[2])
class(letters[3])
class(letters[4])
class(letters[5])

> class(letters[1])
[1] "character"
> class(letters[2])
[1] "character"
> class(letters[3])
[1] "character"
> class(letters[4])
[1] "character"
> class(letters[5])
[1] "character"

3.创建一个包含字符和数值的数据框(5行3列)

给数据框的各列及各行命名,输入函数c(元素为数字直接输入,每个元素之间用逗号隔开,英文单词要加引号,再用逗号分开),按要求输入数据框的函数后,记得要输入数据框如resualtdata,才能在结果中把数据框的各行各列内容显示出来。

months<-c(1,3,5,9,12)
scores <- c(5,6,5,6,7)
speaking <- c("good","fine","good","fine","excellent")
resultdata <- data.frame(months,scores,speaking)
resultdata

  months scores  speaking
1      1      5      good
2      3      6      fine
3      5      5      good
4      9      6      fine
5     12      7 excellent

4.对上述数据框的行名和列名进行更改

对数据框的各行和各列进的名称修改时,方法:rownames(数据框名字)<-(各列名之间要用引号,列名之间用逗号隔开),colnames(数据框名字)<-(各行名之间要用引号,行名之间用逗号隔开),最后再把数据框名字写上后运行。

> rownames(resultdata) <- c("once","twice","third","fourth","fifth")
> colnames(resultdata) <- c("times","pionts","oraltest")
> resultdata

   times pionts  oraltest
once       1      5      good
twice      3      6      fine
third      5      5      good
fourth     9      6      fine
fifth     12      7 excellent
> 

5.确定数据框中各列的数据类型

第一种方法,class(数据框名称[,第几列]),第几行的数字是空白的;同理,确定数据框中各行的数据类型,class(数据框名称[第几行,]),第几列的数字是空白的。第二种方法,class(数据框名称$第几列的名称),如下。

class(resultdata[,1])
class(resultdata[,2])
class(resultdata[,3])

> class(resultdata[,1])
[1] "numeric"
> class(resultdata[,2])
[1] "numeric"
> class(resultdata[,3])
[1] "factor"

or

class(resultdata$times)
class(resultdata$pionts)
class(resultdata$oraltest)

> class(resultdata$times)
[1] "numeric"
> class(resultdata$pionts)
[1] "numeric"
> class(resultdata$oraltest)
[1] "factor"

6.不同方法检索数据框的第3行第2列的元素

方法1:数据框名称 [第几行,第几列];
方法2:数据框名称["第几行对应的名称","第几列对应的名称"],此方法相应的行名和列名一定要加双引号,否者运行是错误的。

resultdata[3,2]
resultdata["third","pionts"]

> resultdata[3,2]
[1] 5
> resultdata["third","pionts"]
[1] 5

7.创建一个矩阵(4行6列)

4行6列:矩阵名称<-matrix(1:24,nrow=4,ncol=6)
5行4列:矩阵名称<-matrix(1:20,nrow=5,ncol=4)

X <- matrix(1:24,nrow=4,ncol=6)
X

[,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24

8.对上述矩阵的行名和列名进行更改

参考在数据框中更改各行各列命名的方法,注意的是,输入命名的函数后,运行不要从原始矩阵函数开始,不然会一直默认,应从矩阵名称开始,或者输入更改各行和各列的函数后,再输入矩阵名称,之后运行即可。

rownames(X) <- c("D1","D2","D3","D4")
colnames(X) <- c("E1","E2","E3","E4","E5","E6")
X

 E1 E2 E3 E4 E5 E6
D1  1  5  9 13 17 21
D2  2  6 10 14 18 22
D3  3  7 11 15 19 23
D4  4  8 12 16 20 24

9.不同方法检索数据框的第3行第2列的元素

参考数据框的方法,同样也要注意在使用X["D3","E2"]方法时,一定要给具体的行和列的名称加引号。

X[3,2]
X["D3","E2"]

> X[3,2]
[1] 7
> X["D3","E2"]
[1] 7

在使用R语言时,输入的字母,符号一定是用英文版,当命令发生错误时,要仔细核对,是不是格式出现错误,显示不出结果时,输入相应的函数后,是不是没有输入数据框或矩阵。

将作业写至简书邮件jmzeng1314@163.com,抄送juanyuanjing@163.com

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

推荐阅读更多精彩内容

  • 分享或转载请附文章链接:https://listen2099.github.io/blog/2018/10/21/...
    葬花朴阅读 14,172评论 0 14
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 4,870评论 0 9
  • 小贴士,以下摘自书中的一些观念,帮助理解今天的学习任务 享乐是意识中的资讯告诉我们已经达到生物程序或社会制约的要求...
    米夏2018阅读 255评论 0 1
  • 他,曾经是浪迹于各大夜店及娱乐场所的情场浪子。 他,曾经为了在球队能有一席之地而不惜与母队决裂,从而远走德克萨斯州...
    木中心阅读 661评论 10 78
  • 大笑是此时 情绪在点燃的柴中 不同于低落可以太久伏寂 灼热只是入水刹那的蒸汽 生命实在漫长 漫长的平淡,期待和低郁...
    一场苏醒的旧梦阅读 94评论 0 0