使用combine创建向量

# 字符型向量
name <- c("张三","李四")
# 数值型向量
num <- c(1,2,3.4,5)
# 逻辑型向量
b <- c(F,T,FALSE,TRUE)# 不能有混合类型
a <- c(1,2,T,F) # 1 2 1 0
# 不存在子向量
d <- c(1,c(2,3),c(4,5)) # 1 2 3 4 5# 创建固定长度向量
x1 <- vector("numeric",3) # 0 0 0
x2 <- numeric(3) # 0 0 0
x3 <- character(3) # "" "" ""
x4 <- logical(3) # FALSE FALSE FALSE
x5 <- vector(length = 3) # FALSE FALSE FALSE

使用seq创建向量

seq(from = 1,to = 10,by=2) # 1 3 5 7 9
seq(from = 10,to = 1,by=-2) # 10  8  6  4  2
seq(from = 1,to = 10,len=3) # 1.0  5.5 10.0
# 特别的,步长为1
1:5 # 1 2 3 4 5
pi:1 # 3.141593 2.141593 1.141593
1:5-1 # 0 1 2 3 4
1:(5-1) # 1 2 3 4

使用sample创建向量

sample(5) # 2 4 5 1 3
sample(c('a','b','c','d')) # "d" "c" "b" "a"
set.seed(2020) # 设置随机数种子
sample(5) # 5 2 4 3 1
sample(1:5,3) # 1 5 2 随机选三个# 有放回的抽样
re_sample = sample(1:100,100,replace = TRUE)
unique_re_sample  = unique(re_sample)
length(unique_re_sample)

访问向量子集

正整数下标

score <- c(95,96,85,98,88,90)
score[c(3,5)] # 85 88
score[-c(3,5)] # 95 96 98 90 反向取出
score[c(3,5)] - 90 # -5 -2
score[c(3,5)] <- score[c(3,5)] +6
score #  95 96 91 98 94 90

注意下标的特殊用法

score[] <- mean(score) # 每一个元素获得平均分
score  # 94 94 94 94 94 94
score <- mean(score) # 一个数值平均分
score # 94
# 下标可以重复,顺序可以改变
name <- c("张三","李四","王五")
name[c(1,1,3,2)] # "张三" "张三" "王五" "李四"

负整数下标

score <- c(95,96,85,98,88,90)
score[-c(3,5)] # 95 96 98 90
idx <- which(score<90) #  3 5 小于90的下标
score[-idx] # 95 96 98 90

逻辑下标

score <- c(95,96,85,98,88,90)
name <- c("张三","李四","王五","刘备","曹操","张飞")
score < 90 #  FALSE FALSE  TRUE FALSE  TRUE FALSE
score[score<90] # 85 88
name[score<90] #  "王五" "曹操" 小于90的姓名

通过元素的名称访问子集

score <- c(95,96,85,98,88,90)
xm <- c("张三","李四","王五","刘备","曹操","张飞")
names(score)<- xm
score
# 张三 李四 王五 刘备 曹操 张飞
# 95   96   85   98   88   90
score[c("刘备","张飞")]
# 刘备 张飞
# 98   90 

向量的基本操作

向量排序

v1 <- c(a=5,b=10,c=12,d=6)
sort(v1)
# a  d  b  c
# 5  6 10 12
order(v1,decreasing = TRUE) # 3 2 4 1 下标排序
v1[order(v1,decreasing = TRUE)]
# c  b  d  a
# 12 10  6  5
score <- c(95,96,85,98,88,90)
rev(score) # 90 88 98 85 96 95
score[length(score)] # 90 取最后一个元素
tail(score,n=1) # 90 取最后一个元素
rev(tail(score,n=3)) # 90 88 98 倒数3个元素

向量的运算

p0 <- c(0,0)
p1 <- c(1,2)
p2 <- c(2,1)
# 求和
p3 <- p1+p2 # 3 3
# 数乘
p4 <- 1.5*p3 # 4.5 4.5p1_on_p2 <- sum(p1*p2)/sum(p1*p2)*p2 # 2 1 计算投影向量

因子的创建

gender <- c("male","male","female","female")
typeof(gender)
# [1] "character"
gender
# [1] "male"   "male"   "female" "female"
gender <- factor(gender)
typeof(gender)
# [1] "integer"
gender
# [1] male   male   female female
# Levels: female male

因子的操作

gender <- c("male","male","female","female")
gender <- factor(gender)
gender[c(1,2:3)]
# [1] male   male   female
# Levels: female malenlevels(gender) # 2
levels(gender)# [1] "female" "male"  gender[1]<-"female" # 此时只能赋值"female" "male"
gender
# [1] female male   female female
# Levels: female male

定义因子

gender <- c("male","male","female","female")
gender <- factor(gender,levels = c("male","female","shemale"))
gender[1] <- "shemale"
gender
# [1] shemale male    female  female
# Levels: male female shemale

因子的本质

gender <- c("male","male","female","female")
gender <- factor(gender)
as.numeric(gender)
# [1] 2 2 1 1
as.character(gender)
# [1] "male"   "male"   "female" "female"number_factor <- c(10,20,40,20,30,10,20)
number_factor <- factor(number_factor)
as.numeric(number_factor) # [1] 1 2 4 2 3 1 2
# 因子正确求平均值
mean(as.numeric(as.character(number_factor))) # [1] 21.42857mean(as.numeric(levels(number_factor)[number_factor])) # [1] 21.42857

创建有序因子

score <- factor(c('优','良','中','差','优','良','中'))
# error score[1]<score[2]
score <- factor(c('优','良','中','差','优','良','中'),ordered = TRUE)
score[1] <score[2] # TEUE 默认按字母排序 y l z cscore <- factor(c('优','良','中','差','优','良','中'),ordered = TRUE,levels = c('差','中','良','优'))score[1] <score[2] # FALSE 中 > 差

根据已有的数据进行分箱

# 将百分制转为5分制
score <- c(94,87,92,91,85,92)
score_factor_5 <- cut(score,breaks = c(0,(6:10)*10),include.lowest = TRUE,right = FALSE,ordered_result = TRUE,labels = c('不及格','及格','中','良','优'))
score_factor_5
# [1] 优 良 优 优 良 优
# Levels: 不及格 < 及格 < 中 < 良 < 优

R语言​www.bioinfo.online

unique去除重复的向量_R语言向量与因子相关推荐

  1. unique去除重复的向量_Matlab如何剔除矩阵中重复列向量

    把数值矩阵按列转化为字符串,再使用unique即可,我按数值是double型来做的,如果你的数值矩阵是整数矩阵会快些.代码如下: function B=unique_col(A) str=cell(1 ...

  2. menisa mysql_实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  3. linux排列去重复的命令,实例详细说明linux下去除重复行命令uniq

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操 ...

  4. r语言逻辑向量相加_R语言基础教程——第3章:数据结构——向量

    如果学过像JAVA或者C这样的高级语言,都知道,数据类型的概念,包括,整数型.浮点型.字符串.布尔类型.这些语言中,定义变量需要定义数据类型,而在R中不需要.只需要直接赋值即可.在给变量赋值时,R中可 ...

  5. r语言rank降序_R语言速成之第一章 向量(编辑,排序,10个基本函数)

    1.4向量的编辑 1.4.1扩展向量c() vc vc vc vc vc 注意:单独append(vc,num)不会改变vc的值 1.4.2改变元素的值直接引用后赋值 vc vc[1] vc[1:3] ...

  6. r语言 去除双引号_tidyfst vs pandas(12):去除重复条目

    作者:黄天元,复旦大学博士在读,热爱数据科学与开源工具(R),致力于利用数据科学迅速积累行业经验优势和科学知识发现,涉猎内容包括但不限于信息计量.机器学习.数据可视化.应用统计建模.知识图谱等,著有& ...

  7. R语言dplyr包distinct函数去除重复数据行实战

    R语言dplyr包distinct函数去除重复数据行实战 目录 R语言dplyr包distinct函数去除重复数据行实战 #导入dplyr包 #仿真数据

  8. 将向量附加到向量[重复]

    本文翻译自:Appending a vector to a vector [duplicate] This question already has an answer here: 这个问题已经在这里 ...

  9. R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系

    原文链接:http://tecdat.cn/?p=22215 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以使这些变量差分而平 ...

最新文章

  1. tongweb安装部署_Linux系统东方通部署iserver说明
  2. 上海python培训班-上海哪家python培训班比较靠谱?
  3. TortoiseGit 克隆_入门试炼_03
  4. mysql排重_mysql 排重查询
  5. vb net excel 剪贴板 粘贴_excel表格操作: 图形和图表编辑技巧汇总(一)
  6. 摩根IT实习经验谈及其他
  7. python3+ selenium3开发环境搭建-手把手教你安装python(详细)
  8. AngularJS表单验证,手动验证或自动验证
  9. Java用for语法找素数,求1-100的质数,用FOR循环。求救。。
  10. python小甲鱼课后作业_小甲鱼python课后习题总结
  11. 【8001】解决打开idea出现红色感叹号报错信息Cannot find keymap Windows copy?
  12. matlab里的pid参数调节,基于MATLAB的PID控制系统参数调节
  13. flashplayer显示微软雅黑粗体bug
  14. 离散数学第一章 命题逻辑
  15. 数据在云服务器中的安全性不会降低的原因
  16. 海思3559AV100 HiSysLink 之 IPCMSG
  17. 前端CSS核心部分盒子模型
  18. debian11下“xx不在 sudoers 文件中。此事将被报告”的解决办法
  19. 笔记——51控制DS18B20温度控制篇章之终章温度报警
  20. 移动二班 21号 pycharm 04.09

热门文章

  1. 一张图看清自然语言处理脉络
  2. 全攻略:大病医疗专项附加扣除,一文集全了
  3. python字符串转float_令人困惑的python-无法将字符串转换为float
  4. Https java信任_java访问非经过信任证书https的方法
  5. ping html 微信支付,说说PING++介入微信H5支付,我趟过的坑。
  6. 银河麒麟配置java环境_中标麒麟系统上安装Java、Eclipse指南.doc
  7. 数据分析流程和特征工程
  8. 森马电商软件测试,字节跳动抖音(电商)方向实习生一二面
  9. visual assist x_可能是最美溜背,大众探岳X能否重新定义轿跑SUV?
  10. linux 配置 java tomcat,Linux配置Tomcat和JDK