对“癌症.csv”中的肾细胞癌组织内微血管数进行连续属性的离散化处理

  增加“微血管数分类1”属性,取值为等宽类别值(分为5类),增加“微血管数分类2”属性,取值为自定义类别值(0~40,41~60,61~120,121~150,151~200,201~250),增加“微血管数分类3”属性,取值为等频类别值(分为5类)

  

setwd('D:\\data')

list.files()

#读取数据
dat=read.csv(file="癌症.csv",header=TRUE)
#等宽类别值
v1=dat[,4]/max(dat[,4])*5
v1=ceiling(v1)#将得到的值向上取整
dat=data.frame(dat,'微血管数分类1'=v1)#变量重命名,存入数据 #自定义类
c2=c(0,40,60,120,150,200,250)
v2=cut(dat[,4],c2,labels = F,right = T)
dat=data.frame(dat,'微血管数分类2'=v2)#变量重命名,存入数据 names(dat)=c("f1","f2","f3","f4","f5","f6") #变量重命名
#attach(data)
n=length(dat[,1])
k=5#等频划分为5组
m=length(k)
data=dat[order(dat$f4),]#按大小排序作为离散化依据 v3=rep(1:k, each = n/k, len = n)#定义新变量 dat=data.frame(dat,"微血管数分类3"=v3)

Gary.R

  

实现过程

  增加“微血管数分类1”属性,取值为等宽类别值(分为5类)

v1=dat[,4]/max(dat[,4])*5
v1=ceiling(v1)#将得到的值向上取整
dat=data.frame(dat,'微血管数分类1'=v1)#变量重命名,存入数据
输出:[1] 1 2 4 3 2 2 2 5 2 2 3 2 2 1 1 2 3 3 1 4 2 3 4 3 3

  (区间值 / max()*等宽 分类 控制数值区间在1~5)

  

  增加“微血管数分类2”属性,取值为自定义类别值(0~40,41~60,61~120,121~150,151~200,201~250)

c2=c(0,40,60,120,150,200,250)
v2=cut(dat[,4],c2,labels = F,right = T)
dat=data.frame(dat,'微血管数分类2'=v2)#变量重命名,存入数据
输出: [1] 2 2 5 4 3 3 3 6 3 3 4 3 2 2 1 3 4 3 2 5 2 4 5 4 4

  cut()函数:切割将x的范围划分为时间间隔

  参数:

  breaks:两个或更多个唯一切割点或单个数字(大于或等于2)的数字向量,给出x被切割的间隔的个数。

  breaks:采用fivenum():返回五个数据:最小值、下四分位数、中位数、上四分位数、最大值。

  labels:为区间数,打标签

  right=T:右区间取闭区间(10,20]

  增加“微血管数分类3”属性,取值为等频类别值(分为5类)

n=length(dat[,1])
k=5#等频划分为5组
m=length(k)
data=dat[order(dat$肾细胞癌组织内微血管数),]#按大小排序作为离散化依据
v3=rep(1:k, each = n/k, len = n)#定义新变量
dat=data.frame(dat,"微血管数分类3"=v3)
输出:[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5

  rep()函数  传送门

rep(x, ...)

rep.int(x, times)

rep_len(x, length.out)

rep函数有4个参数:
x:向量或者类向量的对象
each:x元素每个重复次数
times:each后的向量的处理,如果times是单个值,则each后的值整体重复times次数,如果是x each后的向量相等长度的向量,则对each后的每个元素重复times同一位置的元素的次数,否则会报错
length.out指times处理后的向量最终输出的长度,如果长于生成的向量,则补齐。也就是说rep会先处理each参数,生成一个向量X1,然后times再对X1进行处理生成X2,length.out在对X2进行处理生成最终输出的向量X3> rep(1:4,times=c(1,2,3,4)) #与向量x等长times模式 [1] 1 2 2 3 3 3 4 4 4 4
> rep(1:4,times=c(1,2,3)) #非等长模式,出现错误
Error in rep(1:4, times = c(1, 2, 3)) : invalid 'times' argument
> rep(1:4,each=2,times=c(1,2,3,4)) #还是非等长模式,因为each后的向量有8位,而不是4位
Error in rep(1:4, each = 2, times = c(1, 2, 3, 4)) :
invalid 'times' argument
> rep(1:4,times=c(1,2,3,4)) #等长模式,我写重了o(╯□╰)o
[1] 1 2 2 3 3 3 4 4 4 4
> rep(1:4,times=c(1,2,3,4),each=3) #重复的例子啊,莫拍我
Error in rep(1:4, times = c(1, 2, 3, 4), each = 3) :
invalid 'times' argument
> rep(1:4,each=2,times=1:8) #正确值,times8位长度向量
[1] 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
> rep(1:4,each=2,times=1:8,len=3) #len的使用,循环补齐注意下
[1] 1 1 2
> rep(1:4,each=2,times=3) #先each后times
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4
>rep函数完毕!

rep()函数

  

R_Studio(癌症)以等宽类别值、自定义类别值、等频类别值(分为5类)的更多相关文章

  1. R_Studio(癌症)数据连续属性离散化处理

    对“癌症.csv”中的肾细胞癌组织内微血管数进行连续属性的等宽离散化处理(分为3类),并用宽值找替原来的值 癌症.csv setwd('D:\\data') list.files() dat=read ...

  2. 源码分析springboot自定义jackson序列化,默认null值个性化处理返回值

    最近项目要实现一种需求,对于后端返回给前端的json格式的一种规范,不允许缺少字段和字段值都为null,所以琢磨了一下如何进行将springboot的Jackson序列化自定义一下,先看看如何实现,再 ...

  3. 值栈和OGNL 之 7.1 值栈

    7.1  值栈 7.1.1  值栈是什么 简单的说:值栈是对应每一个请求对象的轻量级的内存数据中心. Struts2中一个很激动人心的特性就是引入了值栈,在这里统一管理着数据,供Action.Resu ...

  4. C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

    除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2:而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000. 取余运算中注意: 该运算只适 ...

  5. python 取出字典的键或者值/如何删除一个字典的键值对/如何遍历字典

    先定义一个字典并直接进行初始化赋值 my_dict = dict(name="lowman", age=45, money=998, hourse=None) 1.取出该字典所有的 ...

  6. 调试台自动多出现一个'' ,我 用uploadify上传图片时,在给页面写入一个返回值为图片名称的变量的值的时候值的前面始终多出现一个''

    对你有助请点赞,请顶,不好请踩------送人玫瑰,手留余香! 15:54 2016/3/12用uploadify上传图片时,在给页面写入一个返回值为图片名称的变量的值的时候值的前面始终多出现一个' ...

  7. 关于readdir返回值中struct dirent.d_type的取值有关问题(转)

    关于readdir返回值中struct dirent.d_type的取值问题 原网页链接 http://www.gnu.org/software/libc/manual/html_node/Direc ...

  8. java 反射: 当Timestamp类型的属性值为null时,设置默认值

    import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Metho ...

  9. 路径(keyPath)、键值编码(KVC)和键值观察(KVO)

    键路径 在一个给定的实体中,同一个属性的所有值具有相同的数据类型. 键-值编码技术用于进行这样的查找—它是一种间接访问对象属性的机制. - 键路径是一个由用点作分隔符的键组成的字符串,用于指定一个连接 ...

随机推荐

  1. oa_mvc_easyui_项目搭建及登录页面验证码(1)

    1.空项目的搭建,三层的搭建(各层之中的引用) webapp:bll,model,common bll:dal,model dal:model 2.SQL表 ItcastDb:T_UserInfo,T ...

  2. navicat for mysql 12 的破解安装和基本操作

    需要安装Navicat软件 可以复制百度云链接,若失效,请联系我,我会尽快回复 将链接中的破解文件复制到软件安装的位置即完成破解 链接:https://pan.baidu.com/s/1sIkjsd3 ...

  3. Shell脚本之sed详解

    在编写shell脚本的过程中,我们经常需要使用sed流编辑器和awk对文本文件进行处理. 一.什么是sed? sed 是一种在线编辑器,它一次处理一行内容.sed是非交互式的编辑器.它不会修改文件,除 ...

  4. 12、Nginx代理缓存服务

    通常情况下缓存是用来减少后端压力, 将压力尽可能的往前推, 减少后端压力,提高网站并发延时 1.缓存常见类型 服务端缓存 代理缓存, 获取服务端内容进行缓存 客户端浏览器缓存 Nginx代理缓存原理 ...

  5. 全自动链接克隆KVM虚拟机

    virt-clone这个命令是基于全克隆的,也就是拷贝虚拟磁盘文件和虚拟配置文件来实现的完整克隆,速度慢,占用空间多 kvm软件包中并没有实现全自动链接克隆的命令或工具,只能手动实现,于是我决定写一个 ...

  6. DHCP服务部署

    目录 DHCP服务部署 一. 简介 二. 用途及功能 三. 原理+示意图 四. 实战搭建 相关文件 配置基础DHCP服务器 配置DHCP保留地址 配置DHCP超级作用域 配置DHCP中继 五. 小结 ...

  7. WEB 服务应用 Nginx之安装篇

    一.Nginx 源码包安装与配置 1.环境准备 操作系统.内核版本: CentOS 6.8  2.6.32-642.el6.x86_64 Nginx 软件版本: nginx-1.10.2 2.创建Ng ...

  8. iptables 设置特定IP访问指定端口

    一.添加规则:设置禁止所有IP访问指定端口8075 [root@zabbix_server ~]# iptables -I INPUT -p tcp --dport -j DROP 二.测试telne ...

  9. Tableau Sheet中的操作

    如果想要给数据排名,例如给饼图中的数据排名 1 创建一个Rank 描述为INDEX()的测度 2.将RANK用Label形式显示并且编辑计算方法选择特定的属性. 属性本身也有可以快速计算的一些方式. ...

  10. Java Pattern和Matcher字符匹配详解

    http://tool.oschina.net/uploads/apidocs/jquery/regexp.html https://blog.csdn.net/rentian1/article/de ...