R语言中 scale函数用法
scale() 函数
1. 用法
scale(x, center = TRUE, scale = TRUE)
# x 是样本数据 (r语言中定义为 数字矩阵)
# center 中心化(这里指的是减去样本数据x的平均值)
# scale 标准化 (这里指的是除以样本数据x的方差或者均方根)
备注: 之前一直听别人说scale(标准化)是除以什么
根方差
,不太懂,所以自己就验证了一下。
结论1: 在同时使用center =T 和 scale =T 的情况下,scale用的值是方差
结论2: 在只使用center =F 和 scale =T, scale用的值是根方差
# 根方差的计算sqrt(sum(x^2)/(n-1)) # x是数据样本, n 是数据样本的数量
2.举列
只中心化,不标准化的验证:
attach(mtcars)
a = mtcars[1:5,]$gear # 以r语言中内置的mtcars为例子
> a
[1] 4 4 4 3 3
> mean(a) # 求平均值
[1] 3.6
> sd(a) # 求方差
[1] 0.5477226
> scale(a,center = T,scale = F) # 只中心化,不标准化[,1]
[1,] 0.4
[2,] 0.4
[3,] 0.4
[4,] -0.6
[5,] -0.6
attr(,"scaled:center")
[1] 3.6
> a - mean(a) # 只中心化验证
[1] 0.4 0.4 0.4 -0.6 -0.6
只标准化, 不中心化的验证:
> scale(a,center = F,scale = T) # 只标准化, 不中心化[,1]
[1,] 0.9847319
[2,] 0.9847319
[3,] 0.9847319
[4,] 0.7385489
[5,] 0.7385489
attr(,"scaled:scale")
[1] 4.062019
# 这里的scale值是4.062019,而方差是0.5477226,所以不是除以方差,而是根方差
> a/4.062019
[1] 0.984732 0.984732 0.984732 0.738549 0.738549# 根方差的计算
> scale_num = sqrt(sum(a^2)/(length(a)-1))
> scale_num
[1] 4.062019
既标准化,也中心化的验证:
> scale(a,center = T,scale = T) # 既标准化,也中心化[,1]
[1,] 0.7302967
[2,] 0.7302967
[3,] 0.7302967
[4,] -1.0954451
[5,] -1.0954451
attr(,"scaled:center")
[1] 3.6
attr(,"scaled:scale")
[1] 0.5477226> (a - mean(a))/sd(a)
[1] 0.7302967 0.7302967 0.7302967 -1.0954451 -1.0954451
R语言中 scale函数用法相关推荐
- r语言中c函数错误,R语言中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...
- r语言中paste函数_R中的paste()函数-简要指南
r语言中paste函数 Using the paste() function in R will be straight and simple. In this tutorial let's see ...
- R语言中dim函数_R语言--向量化计算(apply族函数)
R语言最优秀的是它的向量化编程,这其中apply族函数扮演了非常重要的角色.apply族函数是由apply.sapply.lapply.mapply.tapply等函数组成的.熟练使用apply族函数 ...
- -R语言中%in%函数的用法
R语言由一个个基础函数组成,熟练灵活应用这些基础函数,有助于我们更好的学习R包及编程,这个专栏可能很多人不感兴趣,但是对提升自己很有帮助,感兴趣的朋友一起来学习.今天我们来介绍一下%in%函数的用法, ...
- C语言assign方法,R语言中assign函数和get函数的用法
assign函数在循环时候,给变量赋值,算是比较方便 1.给变量赋值 for (i in 1:(length(rowSeq)-1)){ assign(paste("nginx_server_ ...
- R语言中seq函数的用法
seq(from,to,length), 该函数的意思是生成一组数字,从from开始,到to结束,每两个数间的间隔是length,如 seq(2,10,2),会生成一组数:2 4 6 8 10 seq ...
- R语言中var的用法
var()是R语言中用于计算样本方差的函数.用法如下: var(x, na.rm = FALSE, use = "everything") 其中: x:一个数值型的向量. na.r ...
- R语言中dim函数_R语言 常见函数知识点梳理与解析 | 精选分析
目 录 1.str() 显示数据集和变量类型,并简要展示数据集情况 2.subset() 取子集 3.which.min(), which.max()和which() 4.pmin( )/ pmax ...
- c 如何加函数锁linux,Linux下C语言中fcntl函数用法说明
本文最后更新于2017年8月18日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢! =Start= 缘由: 学习.提高需要 正文: 参考解答: fcntl – manipulate f ...
最新文章
- 用户体验思考之UI面试
- Howto: (Almost) Everything In Active Directory via C#
- linux-dns的安装
- 美团点评APP在移动网络性能优化的实践,通用流行框架大全
- C#快速找出磁盘内的所有文件
- Java订单交易_Java实现获取105发卡平台的订单信息
- 升序输出三个数_C语言入门经典例题:求100~999的水仙花数
- 配置iSCSI部署网络存储
- 「leetcode」90.子集II【回溯算法】详细图解!
- 第二次发布 - 轻剑傲风的RSS简易阅读器改装版。
- PJSIP添加G729编码
- matlab中的kron函数
- 如何实现网站访问量统计(html页面)
- 32、Java高级特性——日期操作类、Date类、SimpleDateFormat类、Calendar类
- bcdedit添加linux引导,用BCDEdit编辑启动菜单
- 通过docker安装zabbix5.0分布式监控系统
- Spinner的setOnItemSelectedListener(
- 批量将多个文件夹整理合并到一个文件夹中
- 随机数rand和srand的用法
- aspnetdb.mdb数据库介绍
热门文章
- 海思IVE遮挡报警算法(OD)
- 锐捷商通v6数据库服务器位置,锐捷商通软件v6怎么设置自动提醒库存不足
- NIPS 2017 深度学习论文集锦 (5) 含部分代码
- CSS控制连续英文字母和数字强制换行
- 分享一个抖音刷视频的python代码
- 11月2日 迅雷白金会员vip账号分享 91freevip 18:00更新
- connection error mysql_MySQL数据库之Dr.Elephant mysql connection error
- 寒假,打包回家喽~给诸位拜个早年~
- 卡耐基经典口才训练八种法
- 2021商务风新年工作计划工作总结通用PPT模板