前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据挖掘第二天

数据挖掘第二天

原创
作者头像
用户10407164
发布2023-03-09 13:09:15
3030
发布2023-03-09 13:09:15
举报
文章被收录于专栏:数据挖掘学习

数据结构:向量、数据框、矩阵、列表

数据框约等于“表格”,数据框里的每一列只能同一种数据类型,单独拿出一列是向量,是为一个整体

一、向量的生成:

代码语言:txt
复制

1、用c()逐一放到一起

代码语言:txt
复制
> c(2,5,6,2,9) 
[1] 2 5 6 2 9
代码语言:txt
复制
> c("a","f","md","b")
[1] "a"  "f"  "md" "b" 

2、连续数字用冒号“:”

代码语言:txt
复制
> 1:5
[1] 1 2 3 4 5

3、有重复的用rep(),有规律的序列用seq(),随机数用rnorm()

代码语言:txt
复制
#X重复3次
代码语言:txt
复制
> rep("x",time=3)
[ 1] "x" "x" "x"
代码语言:txt
复制
#从3到21,没间隔3取一个数
代码语言:txt
复制
> seq(from=3,to=21,by=3)
[1]  3  6  9 12 15 18 21
代码语言:txt
复制
#生成随机数
代码语言:txt
复制
> rnorm(n=3)
[1]  1.1570975 -0.6824982 -0.2357576

4、通过组合,产生更为复杂的向量:paste0()

代码语言:txt
复制
> paste0(rep("x",times=3),1:3)
[1] "x1" "x2" "x3"

向量取名注意事项:不建议使用:c,"x",seq,limma,1x,1bala,x 1,x-1,芭芭拉

二、对单个向量进行操作

代码语言:txt
复制
1、赋值:规范的赋值符号为“<-";随意的写法"="
代码语言:txt
复制
    > x = c(1,3,5,1) #随意的写法
    x <- c(1,3,5,1) #规范的赋值符号 Alt+减号
代码语言:txt
复制
2、赋值+输出一起实现:用括号框住赋值或者赋值及输出写在一行,用分号区分
代码语言:txt
复制
    (x<-c(1,2,3))
代码语言:txt
复制
    [1] 1 2 3
代码语言:txt
复制
     或者
代码语言:txt
复制
     > x=c(1,2,3);x
     [1] 1 2  3
代码语言:txt
复制
3、简单数学计算
代码语言:txt
复制
    > x+1
    [1] 2 3 4
代码语言:txt
复制
    > log(x)
    [1] 0.0000000 0.6931472 1.0986123
代码语言:txt
复制
    > sqrt(x)
    [1] 1.000000 1.414214 1.732051
代码语言:txt
复制
4、根据某条件进行判断,生成逻辑值向量
代码语言:txt
复制
    > x>3
    [1] FALSE FALSE FALSE
代码语言:txt
复制
    > x==3
    [1] FALSE FALSE  TRUE
代码语言:txt
复制
5、初级统计
代码语言:txt
复制
    max(x) #最大值
代码语言:txt
复制
    min(x) #最小值
代码语言:txt
复制
    mean(x) #均值
代码语言:txt
复制
    median(x) #中位数
代码语言:txt
复制
    var(x) #方差
代码语言:txt
复制
    sd(x) #标准差
代码语言:txt
复制
    sum(x) #总和
代码语言:txt
复制
    length(x) #长度
代码语言:txt
复制
    unique(x) #去重复
代码语言:txt
复制
    duplicated(x) #对应元素是否重复
代码语言:txt
复制
    table(x) #重复值统计
代码语言:txt
复制
    sort(x)#默认从小到大排序
代码语言:txt
复制
    sort(x,decreasing = F)
代码语言:txt
复制
    sort(x,decreasing = T)
代码语言:txt
复制
    #####2.3.对两个向量进行的操作#####
代码语言:txt
复制
    x = c(1,3,5,1)
代码语言:txt
复制
    y = c(3,2,5,6)

重复的定义:从左往右数过去,第2次或多次出现的元素是重复

数据类型转换的优先顺序:字符型>数值型>逻辑型

三、对两个向量的操作

代码语言:txt
复制
1、比较运算,生成等长的逻辑向量
代码语言:txt
复制
     x = c(1,3,5,1)
代码语言:txt
复制
     y = c(3,2,5,6)
代码语言:txt
复制
     > x == y 
    [1] FALSE FALSE  TRUE FALSE
代码语言:txt
复制
    y == x
代码语言:txt
复制
    [1] FALSE FALSE  TRUE FALSE
代码语言:txt
复制
2、数学计算
代码语言:txt
复制
    x + y
代码语言:txt
复制
    [1]  4  5 10  7
代码语言:txt
复制
3、连接
代码语言:txt
复制
    paste(x,y,sep=",")
代码语言:txt
复制
    [1] "1,3" "3,2" "5,5" "1,6"
代码语言:txt
复制
4、当x和y不一样长,就会发生循环补齐
代码语言:txt
复制
    > x = c(1,3,5,6,2)
     y = c(3,2,5)
代码语言:txt
复制
     x == y
代码语言:txt
复制
    [1] FALSE FALSE  TRUE FALSE  TRUE
代码语言:txt
复制
5、利用循环补齐简化代码
代码语言:txt
复制
     paste0(rep("x",3),1:3)
代码语言:txt
复制
    [1] "x1" "x2" "x3"
代码语言:txt
复制
    paste0("x",1:3)
代码语言:txt
复制
    [1] "x1" "x2" "x3"
代码语言:txt
复制
6、交集、并集、差集
代码语言:txt
复制
    intersect(x,y)
代码语言:txt
复制
    [1] 3 5 2
代码语言:txt
复制
    union(x,y)
代码语言:txt
复制
    [1] 1 3 5 6 2
代码语言:txt
复制
     setdiff(x,y)  #返回在x里存在但在y里不存在的元素
代码语言:txt
复制
    [1] 1 6
代码语言:txt
复制
     setdiff(y,x)#返回在y里存在但在x里不存在的元素
代码语言:txt
复制
    numeric(0)
代码语言:txt
复制
7、%in%
代码语言:txt
复制
    x %in% y #x的每个元素在y中存在吗
代码语言:txt
复制
    [1] FALSE  TRUE  TRUE FALSE  TRUE
代码语言:txt
复制
     y %in% x #y的每个元素在x中存在吗
代码语言:txt
复制
    [1] TRUE TRUE TRUE
请在此添加记忆卡片图片描述
请在此添加记忆卡片图片描述
代码语言:txt
复制
8、向量筛选(取子集)  
代码语言:txt
复制
     x <- 8:12
代码语言:txt
复制
     x
代码语言:txt
复制
    [1]  8  9 10 11 12
代码语言:txt
复制
#根据逻辑值取值,【】将TRUE对应的值挑选出来,FALSE丢弃
代码语言:txt
复制
    x[x==10]
代码语言:txt
复制
    [1] 10
代码语言:txt
复制
    x[x<12]
代码语言:txt
复制
    [1]  8  9 10 11
代码语言:txt
复制
     x[x %in% c(9,13)]
代码语言:txt
复制
    [1] 9
代码语言:txt
复制
#根据位置取子集,【】为向量的下标,数字或者为由向量组成的下标
代码语言:txt
复制
    x[4]
代码语言:txt
复制
    [1] 11
代码语言:txt
复制
     x[2:4]
代码语言:txt
复制
    [1]  9 10 11
代码语言:txt
复制
    x[c(1,5)]#由向量组成的下标
代码语言:txt
复制
    [1]  8 12
代码语言:txt
复制
    x[-4]
代码语言:txt
复制
    [1]  8  9 10 12
代码语言:txt
复制
    x[-(2:4)]
代码语言:txt
复制
    [1]  8 12
代码语言:txt
复制
9、修改向量中的某个/某些元素:取子集+赋值。R语言里的修改,都需要赋值,没有赋值就没有发生过
代码语言:txt
复制
    #改一个元素
代码语言:txt
复制
    x[4] <- 40
代码语言:txt
复制
    x
代码语言:txt
复制
    [1]  8  9 10 40 12
代码语言:txt
复制
    #改多个元素
代码语言:txt
复制
     x[c(1,5)] <- c(80,20)
代码语言:txt
复制
    x
代码语言:txt
复制
    [1] 80  9 10 40 20

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档