生信技能树-数据挖掘课程笔记
1.1
2
30
"a"
"bb"
"ccc"
TRUE
T
FLASE
F
NA
string = "hello,world"
string <- "hello,word"
比较运算的返回值是逻辑值TURE 、FALSE
>
大于<
小于 >=
小于等于>=
大于等于==
等于!=
不等于注意区分赋值
=
与逻辑值判断的等于==
&
有一者为FALSE即为FALSE|
有一者为TRUE即为TRUE!
TURE和FALSE相互转换#是否为数值型数据
is.numeric()
#是否为逻辑型数据
is.logical()
#是否为字符型数据
is.character()
#转换为数值型数据
as.numeric()
#转换为逻辑值数据
as.logical()
#转换为字符型
as.character()
NA
NA
TRUE
,0则为FALSE
"123"
1
,FALSE为0
"TRUE"
or"FALSE"
R语言在不同数据转换时,尽可能保留更多的数据信息
向量和矩阵的所有元素只能有一种数据类型 数据框的一列就是一个向量 向量内的元素可以重复
#向量的生成
c(1,2,3,4)
1:4
c("a","b","c","d")
#向量中有重复的生成
rep("a",times=3)
#向量中有规律的生成
seq(from=1,to=4,by=2)
#向量中数字的随机生成
rnorm(n=3)
#向量之间的组合
paste0(rep("a",3),1:3)
输出结果:
#向量的简单计算
x = c(1,2,3,4)
x+1
log(x) #返回以e为底x的对数(自然对数)
sqrt(x) #开平方根
#对向量中的元素进行统计的函数
max(x) #最大值
min(x) #最小值
mean(x) #均值
median(x) #中位数
var(x) #方差
sd(x) #标准差
sum(x) #总和
#向量可根据判断,生成逻辑型向量
x >= 2
x == 3
输出结果:
x = c(2,1,1,3,4,4)
length(x) #向量中元素的个数
unique(x) #依次将第一个出现的元素保留,后面重复的去除
duplicated(x) #依次判断元素是否重复
table(x) #统计每个元素的重复值,以表格形式呈现
class(table(x)) #table()函数输出的并非数据框或矩阵,是该函数特殊的数据类型
sort(x) #按元素数值大小依次排序,默认从小到大
sort(x,decreasing = F) #从大到小排序
输出结果:
#向量取子集
x <- 8:12
#根据逻辑值取子集
x[x==10]
x[x<12]
x[x %in% c(9,13)]
#根据位置取子集
x[4]
x[2:4]
x[c(1,5)]
x[-4]
x[-(2:4)]
#改一个元素
x[4] <- 40
x
#改多个元素
x[c(1,5)] <- c(80,20)
x
输出结果:
x[-4]
表示向量除了第4位置上的其他元素#向量之间的运算
x = c(1,2,3,4)
y = c(1,3,2,1)
x + y #直接进行数学计算
x == y #比较运算可以生成逻辑值
paste(x,y,sep=",") #连接两个向量,以","作为连接符
paste0(x,y) #paste0()不需要连接符,直接连接两个向量
输出结果:
#向量长度不同时,自动循环补齐
x = c(1,2,3)
y = c(1)
x == y
y == x
#循环补齐和两个向量运算顺序无关,少的向量补齐多的向量
输出结果:
#向量之间取交集、并集、差集
x = c(1,2,3,4)
y = c(1,3,3,5)
intersect(x,y) #取交集
union(x,y) #取并集,并集后去重
setdiff(x,y) #取差集,x中去除y
setdiff(y,x) #取差集,y中去除x
# %in%的使用
x %in% y #x的每个元素在y中存在吗,返回一组逻辑值
y %in% x #y的每个元素在x中存在吗,返回一组逻辑值
输出结果:
%in%
是将前者依次取出,与后者中所含有的元素进行比对,存在即为TRUE,不存在即为FALSE%in%
可用于向量取子集,取出前者向量中在后者向量中有的元素%in%
和==
之间注意区分,%in%
是依次取出,=
是一一对应原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。