2.2对单个向量进行操作
(1)赋值( <- alt+—,在R里操作)
赋值,=随意的写法,是OK的
=可以代替赋值号 <- ,反过来不行
赋值+输出一起实现
可用名,不建议使用已经占用的格式,如c,limma
不要把变量添上引号
(2)简单数学计算
x <- c(2,3,4,4)
x+1
log(x)
(3)根据某条件进行判断,生成逻辑值向量
x==3 等于函数,返回TRUE/ FALSE
(4)初级统计
max(X)#最大值 min(x)#最小值, mean(x)#均值,median(x)#中位数
var(x)#方差,sd(x)#标准差,sum(x)#总和
length(x)#长度(计算元素个数)
unique(x)#去重复,从左往右看,第一次出现不是重复,第二次或第n次出现为重复
duplicated(x)#判断是否重复,如要duplicated返回相反的结果,添加什么函数?——!duplicated(x)此为常用使用形式
table(X)#重复值统计,看重复几次,没有重复,返回为1,可以统计出现的次数
sort(x)排序,默认从小到大,sort(x,decreasing=T),排序则可改成从大到小
R语言的默认思想
英文?+函数名帮助文档
paste0(rep("student",times=length(a)),seq(2,15,by=2))
R语言函数思想:能用函数代替,就不要手动去数,除非代码只用一次
2.3对两个向量的操作
(1)比较运算,生成等长的逻辑向量
x=c(1,3,5,1),y=c(3,2,5,6) ,x==y
F,F,T,F
(2)数学计算,为向量
(3)连接
paste(x,y,sep="")sep=""分隔符,可以设置不同的分隔符,paste0没有默认分隔符,可以用paste(x,y,sep="")替代
两个向量长度不一致
x==y y==x
不够比的情况下,平移对比,发生循环补齐,跟谁在前无关,跟谁最长有关
利用循环补齐简化代码
paste0(rep(“x”,3),1:3)参数的名称可以省略(times=)
paste0(“x”,1:3)假装x为长度为1的向量,发生循环补齐,短的循环3次补齐长的
所以有的代码写错,结果正确的话,是返回的东西都是一样的,只是没有区分x而已
完成比完美更重要
完美答案很短,但不好理解
(4)交集、并集、差集,结合返回结果,理解函数
intersect(x,y)交集,会去重复
union(x,y)
setdiff(x,y)仅在x里,不在y里#差集
setdiff(y,x)仅在y里,不在x里
重点:%in%(没有快捷键)
x %in% y #x的每个元素在y中存在吗
x=c(1,3,5,1),y=c(3,2,5,6)
F,T,T,F
y %in% x #y的每个元素在x中存在吗
T,F,T,F
x==y # x和对应位置的y相等吗
x %in% y #x的每个元素在y中存在吗 ,%in%只对前面的数字进行比较,不会发生循环补齐
发现问题的眼睛,面对困难的信心,解决问题的能力
unexpected,提示代码错误
两句代码写同一行,用;分隔,不能用,隔开
循环补齐:有没有发生运算,有没有返回结果和长的向量相关,所以unique(x)不会发生循环补齐,但是x+y,paste(x,y)都会发生循环补齐
2.4向量筛选(取子集)
?:如何从13个数中筛选大于7的
13个数字组成向量,赋值给x
x大于7,返回多少个逻辑值——13个
挑选TRUE 对应的值
————向量筛选(取子集),中括号[]:将true 对应的值挑选处理,false将丢弃
下标,第一个元素1,第二个元素2
x[4]--11,x的第四个元素
x[2:4],
x[c(1,5)]
x[-4]去掉第四个
x[-(2:4)]去掉2-4位,反选,是x的下标
叹号是给逻辑值用的,-是给向量用的
x[1,5]---代码错误,因为不能单独运行,不是向量,所以不能运行,x[c(1,5)]可
蓝色、绿色、黄色替换数字,还是赋值给向量,用逻辑值取
x %in% y
x[x %in% y]取T的个数
2.5如何修改向量中的某个、某些元素
改一个元素
x[4] <-40
改几个元素,取子集
2.6简单的向量作图
k1=rnorm(12);k1
plot(k1)
k1纵坐标,k1下标为横坐标
times,each=3(times是依次完成,each是逐个完成再继续)
boxplot(k1~k2),k1纵坐标,k2横坐标
箱线图(Box Plot)也就是箱须图(BoxWhisker Plot), 它是由一组或多组连续型定量数据的「最小观测值」、第一四分位数、中位数、第三分位数和「最大观测值」来反映数据的分布情况的统计图
# 4.用函数计算向量g的长度
length(g)
# 5.筛选出向量g中下标为偶数的基因名。
g[seq(2,100,2)],按位置,取出下标为偶数的基因
# 6.向量g中有多少个元素在向量s中存在(要求用函数计算出具体个数)?将这些元素筛选出来
g[g %in% s] 按位置
table(g %in% s) 计算T的重复值 按逻辑
# 提示:%in%
# 7.生成10个随机数: rnorm(n=10,mean=0,sd=18),用向量取子集的方法,取出其中小于-2的值
X=rnorm(n=10,mean=0,sd=18)
X[X< -2]#(<-是赋值,要给隔开,空格)
代码不报错,不代表代表诊断没错,要检查目的是否达到,检查的意识
sum
vector向量——一维
表格——二维,矩阵matrix,只允许一种数据类型,data.frames数据框,每列只允许一种数据类型
list列表,可装万物
根据生存它的函数,用class或is族函数判断
所有图片引用自小洁忘了怎么分身
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。