Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R对数据帧的每一行和每一列应用计算

R对数据帧的每一行和每一列应用计算
EN

Stack Overflow用户
提问于 2014-11-01 22:27:50
回答 3查看 12.3K关注 0票数 1

在数据框中,我想从每列的每个元素中减去每列的平均值。

示例数据帧:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x <- c(1,2,3,4,5,6,7,8,9,10)
y <- c(2,3,2,3,2,3,2,3,2,3)
z <- c(100,200,300,400,500,600,700,800,900,1000)
df <- data.frame(x, y, z)

# get the mean of each column
mu <- colMeans(df)

我认为我需要使用sapply,类似于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df_norm <- df
df_norm[,1] <- sapply(df[,1], function(x) (x-mu[1]))
df_norm[,2] <- sapply(df[,2], function(x) (x-mu[2]))
df_norm[,3] <- sapply(df[,3], function(x) (x-mu[3]))

但是我不知道如何在一行代码中编写FUN参数来实现这一点。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-01 23:37:38

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sapply(df, function(x){x-mean(x)})
票数 2
EN

Stack Overflow用户

发布于 2014-11-01 22:31:22

这里有一种方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
do.call(cbind,lapply(df,function(col)col-mean(col)))
#          x    y    z
#  [1,] -4.5 -0.5 -450
#  [2,] -3.5  0.5 -350
#  [3,] -2.5 -0.5 -250
#  [4,] -1.5  0.5 -150
#  [5,] -0.5 -0.5  -50
#  [6,]  0.5  0.5   50
#  [7,]  1.5 -0.5  150
#  [8,]  2.5  0.5  250
#  [9,]  3.5 -0.5  350
# [10,]  4.5  0.5  450
票数 2
EN

Stack Overflow用户

发布于 2014-11-01 22:33:02

要保留data.frame结构,您可以执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
as.data.frame(Map(`-`, df, mu))

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sweep(df, 2, mu)

还有一个非常方便的scale函数,但它可以将您的数据转换为矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scale(df, center = TRUE, scale = FALSE)

如果您不介意转换为矩阵,那么您还可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
t(t(df) - mu)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26693922

复制
相关文章
如何批量对每一行或者每一列进行排序?
先上效果图。 (一) 批量针对每一行排序 1. 把每一行转换成列表 函数:Table.ToRows 2. 针对每一个行生成的列表进行排序 函数:List.Transform,List.Sort 3.
逍遥之
2020/03/23
3K0
LeetCode 2133. 检查是否每一行每一列都包含全部整数
对一个大小为 n x n 的矩阵而言,如果其每一行和每一列都包含从 1 到 n 的 全部 整数(含 1 和 n),则认为该矩阵是一个 有效 矩阵。
Michael阿明
2022/03/10
4470
LeetCode 2133. 检查是否每一行每一列都包含全部整数
2021-08-13:给定一个每一行有序、每一列也有序,整体可
2021-08-13:给定一个每一行有序、每一列也有序,整体可能无序的二维数组 ,在给定一个正数k,返回二维数组中,最小的第k个数。
福大大架构师每日一题
2021/08/13
3410
2021-08-13:给定一个每一行有序、每一列也有序,整体可
QT应用编程: 使用QTAV得到解码视频每帧图像
参考博客: https://blog.csdn.net/xiaolong1126626497/article/details/112209279
DS小龙哥
2022/01/07
1.1K0
QT应用编程: 使用QTAV得到解码视频每帧图像
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(下篇)
前几天在Python白银交流群【王王雪饼】问了一个Pandas的问题,这里拿出来给大家分享下。
Python进阶者
2023/09/02
1790
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(下篇)
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(下篇)
前几天在Python白银交流群【王王雪饼】问了一个Pandas的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
1620
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(下篇)
获取MySql每一列的数据类型和长度默认值等信息
如何获取MySql表中各个列的数据类型? show columns from tablename 返回结果如下: id    int(11)     NO  PRI         auto_incr
码农阿宇
2018/04/18
4.2K0
获取MySql每一列的数据类型和长度默认值等信息
Git : 每一行命令都算数
为了说明我们日常开发中执行的一系列Git命令的作用是什么,我们需要了解Git的工作区域的概念,几乎每一个常见的Git命令操作都可以通过工作区域来解释。
sowhat1412
2022/09/20
2860
Git : 每一行命令都算数
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(上篇)
前几天在Python白银交流群【王王雪饼】问了一个Pandas基础的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
1760
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(上篇)
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(上篇)
前几天在Python白银交流群【王王雪饼】问了一个Pandas基础的问题,这里拿出来给大家分享下。
Python进阶者
2023/09/02
1460
按照每一列列名去寻找每一行是否存在列名,若存在,填写score,若不存在,填写0?(上篇)
Shell脚本循环读取文件中的每一行
While循环中read命令从标准输入中读取一行,并将内容保存到变量line中。在这里,-r选项保证读入的内容是原始的内容,意味着反斜杠转义的行为不会发生。输入重定向操作符< file打开并读取文件file,然后将它作为read命令的标准输入。
卡尔曼和玻尔兹曼谁曼
2019/01/22
5.6K0
每敲一行代码,需要测试1000次!!!
此前Oracle 惨遭亚马逊、Salesforce 弃用,究其根本原因,不是因为亚马逊等企业为了省钱,而是因为 Oracle 数据库逐渐满足不了他们业务的发展需求。
用户5224393
2019/09/17
6270
每敲一行代码,需要测试1000次!!!
在文件每一行开头增加字符串
首先,使用vim 打开某txt文件,输入冒号,并输入%s/^/,之后输入要添加的字符串即可
DoubleV
2022/03/25
1.1K0
opencv视频输入每帧处理之后组合视频导出(python)
最近项目有个需求,需要将一段视频输入进去之后进行标注,然后以视频形式导出,这里特此记录。
zstar
2022/06/14
5250
17毫秒每帧!实时语义分割与深度估计
今天跟大家分享几天前arXiv上的一篇兼顾模型速度与性能的论文《Real-Time Joint Semantic Segmentation and Depth Estimation Using Asymmetric Annotations》,来自阿德莱德大学和墨尔本大学的研究人员在该文解决了在计算受限的设备上部署多任务模型的问题,取得了又好(达到state-of-the-art效果)又快(17毫秒每帧)同时实现语义分割与深度估计的效果。 作者信息:
CV君
2019/12/27
1.3K0
17毫秒每帧!实时语义分割与深度估计
记录php提取文本每一行转换为数组
德宏大魔王
2023/08/08
1800
【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119076.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/09
3930
【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序
大数据揭另类爱情报告:每4对新婚有1对离婚
据经济之声报道,《2013-2014年中国男女婚恋观调查报告》正式发布,报告由婚恋网站世纪佳缘发起,通过72660份有效数据样本,对2013年的婚恋热点进行系统梳理和全景扫描,对当代中国男女的婚恋观念
小莹莹
2018/04/20
9390
大数据揭另类爱情报告:每4对新婚有1对离婚
wc 统计已过时,cloc 每一行代码都有效
我们通常用代码量来评判一个程序员技术的高低或一个项目的大小,阅读新项目源码时,也需要了解其代码量,心里有个预期。
程序员荒生
2022/07/14
4210
点击加载更多

相似问题

如何对R数据帧中的每一列应用函数

31

对R中数据帧中的每一行应用函数

11

R:每n行对一列数据帧求和

19

对R中的每一行数据帧应用if然后循环

11

R连接数据帧中每列的每一行。

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文