初印象:变量、一串数字、一串字符、不止一个、数据分析的直接对象。(不一定是正确的,仅本人粗显的理解)
新知:
标量:一个元素组成的变量;向量:多个元素组成的变量
非常形象的一张图↓:
说到变量,联想到中学时代所学习的函数中的X,同样,R语言中也是对某个“符合”赋值。
x <- c(1,2,3,4)
x <- c('a','b','c')
x <- c(1,2,3,'a')
#运行结果
> x <- c(1,2,3,4)
> class(x)
[1] "numeric"
> x <- c('a','b','c')
> class(x)
[1] "character"
> x <- c(1,2,3,'a')
> class(x)
[1] "character"
可以发现,x可以是数字或者是字符,与此同时,数字和字符一块赋值,则数字也变成了字符。
利用函数赋值:同样的,也能通过函数(自带或自定义)进行赋值。
x <- rnorm(5) #利用正态分布函数生成5个符合正态分布的数字
> x
[1] 0.4565827 0.0398871 0.9193298 1.0669231 -1.2529013
TIPS:不知道函数用法和作用可以使用?函数
解决,如?rnorm()
。
通过上面的结果,我们得到了有5个数值的向量。
> x
[1] 0.4565827 0.0398871 0.9193298 1.0669231 -1.2529013
用[]取值,如:
x[1] #取第一个
x[-1] #除了第一个的其他结果
x[4:5] #第4至5个
x[c(1,2,5)] #第1,2,5个
获得结果
> x[1]
[1] 0.4565827
> x[-1]
[1] 0.0398871 0.9193298 1.0669231 -1.2529013
> x[4:5]
[1] 1.066923 -1.252901
> x[c(1,2,5)]
[1] 0.4565827 0.0398871 -1.2529013
*英文名字很重要,因为一开始根本不理解“框”&“frame“。
*目前有数据文件:huahua.txt
a <- read.table('huahua.txt', sep = '\t', header = T) #通过read.table()读取huahua.txt文件,同时赋值给a,sep和header是参数,针对函数设置,可以用?函数详细了解,注意此处huahua.txt用了引号!
colnames(a) #列名~colnames英文单词
rownames(a) #行名,默认是1.2.3...的自然数
dim(a)#维度,即多少行多少列
结果
> colnames(a)
[1] "X1" "X2"
> rownames(a)
[1] "1" "2" "3" "4" "5"
> dim(a)
[1] 5 2
write.table(a,file = "yu.txt",sep = ",",quote=F)
工作目录中出现yu.txt
文件
重点,可以节约空间和时间,新知,此处引用老师原文
#这次没有处理完的数据下次想接着用怎么办?--学会保存和重新加载。保存的格式是RData。save.image(file="bioinfoplanet.RData")#保存当前所有变量 save(a,file="test.RData")#保存其中一个变量 load("test.RData")#再次使用RData时的加载命令
个人理解:由于相比于向量多了一个维度,所以提取的时候也多了一个维度
a[1,3] #提取第一行第三列元素
a[,3] #提取第3列元素
a[3] #同上
a$列名 #直接提取
a[c(1,3),2] #取第1行第二列和第3行第二列元素
save(a,file="test.RData"),这句代码如果报错object a not found,是为什么,应该怎么解决?
(1)R的规范赋值符号是<-,也可以用=代替 (2)在Console 控制台输入命令,相当于Linux的命令行
(3)R的代码都是带括号的,括号必须是英文的。 (4)显示工作路径 getwd()
(5)向量是由元素组成的,元素可以是数字或者字符串。
(6)表格在R语言中称为数据框^_^ (7)别只复制代码,要理解其中的命令、函数的意思。函数或者命令不会用时,除了百度/谷歌搜索以外,用这个命令查看帮助:?read.table,调出对应的帮助文档,翻到example部分研究一下。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。