如何根据同一行的ID利用R语言对值进行求和

需求:将属于同一分组的对应的值进行求和或者求平均值

#设置工作目录
> getwd()
[1] "C:/Users/86150/Documents"
> setwd("C:/Users/86150/Desktop/AA2024/RUF")
> list.files()
#读取文件
>install.packages("readxl")
>library("readxl")
> df <- read_excel("202002_RUF_Seed.xlsx")
> head(df)
# A tibble: 6 × 2group seed <chr> <chr>
1 R1    5.33 
2 R10   1.8  
3 R10   0.45 
4 R10   5.68 
5 R10   1.48 
6 R105  0,.06##利用函数aggregate进行分组求和
> merge_data <- aggregate(.~group,data=df,sum())

出现报错:

Error in FUN(X[[i]], ...) : invalid 'type' (character) of argument

You need to remove the color column from the x argument, since it is not being used in aggregation, but is actually the by argument.aggregate(csv[-1], csv["color"], sum)
#   color val2 val3
# 1  blue    6   13
# 2 green    7    3
# 3   red   11    9

换一种方法还是不行: 

library(dplyr)
df %>% group_by(group) %>% summarise_each(funs(sum))

使用命令 class(df$seed) :检测发现SUM求和的那一列为字符串类型

[1] "character"

 解决方法:

发现是因为seed列为字符型,而sum函数要求数值型,因此只需要将seed转为数值型即可:

figa1 <- df %>% mutate(seed = as.numeric(as.character(seed))) %>% group_by(group) %>% summarize(total = sum(seed))

mutate(seed = as.numeric(as.character(seed)))指的是把count转为数值型

将结果输出:保存为excel的可读形式

#加载“xlsx”
library(xlsx)
library(writexl)
install.packages("openxlsx")  #如果没有这个包就安装
library(openxlsx)write.xlsx(figa1, "C:/Users/86150/Desktop/AA2024/RUF", append = TRUE)
write_xlsx(figa1, "C:/Users/86150/Desktop/AA2024/RUF")##这个测试成功了
install.packages("openxlsx")  #如果没有这个包就安装
library(openxlsx)
write.xlsx(figa1, file = file.path("C:/Users/86150/Desktop/AA2024/RUF", "202002ruf_seed.xlsx"))

结果如图:total列显示为每个编号的总的种子总量(备注:因为一个材料编号一般种了三个重复) 

注意事项:在将数据(a.xlsx)导入r语言之前需对数据进行检测,包括sum列的数字格式类型是否为字符串,以及sum值输入时是否存在错误(例如将“.”写成“,”;是否存在中文即非纯数字)

参考文献来源:

R语言中怎么将数据框导出成xlsx文件并规定存放目录_r语言数据导出成xlsx-CSDN博客

R 报错: x invalid 'type' (character) of argument - 橙子牛奶糖 - 博客园 (cnblogs.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于NeRF的路面重建算法——RoME / EMIE-MAP / RoGS

基于NeRF的路面重建算法——RoME / EMIE-MAP / RoGS 1. RoMe1.1 Mesh Initialization / Waypoint Sampling1.2 Optimization1.3 Experiments 2. EMIE-MAP2.1 Road Surface Representation based on Explicit mesh and Implicit Encoding2.2 Optimizing Strategies2.3 Experimen…

python报错RuntimeError: Numpy is not available

–> 141 audio torch.from_numpy(audio) 143 if device is not None: 144 audio audio.to(device) RuntimeError: Numpy is not available 使用python3.9和torch时&#xff0c;自动安装了Numpy2.0&#xff0c;一直报错&#xff0c; 解决方法&#xff1a;pip install nump…

如何在 Linux 中解压 ZIP 文件

ZIP 是一种常用的压缩文件格式&#xff0c;用于存储和传输多个文件。在 Linux 系统中&#xff0c;解压 ZIP 文件非常简单。 使用 unzip 命令 unzip 是一个专用于解压 ZIP 文件的命令行工具。要使用它&#xff0c;请打开终端并输入以下命令&#xff1a; 例如&#xff0c;要解…

SpringBoot整合ElasticSearch的elasticsearch-java出现jakarta.json.spi.JsonProvider报错问题

一、原因 报错内容如下 org.springframework.beans.factory.BeanCreationException: Error creating bean with name esClient defined in class path resource [com/elasticsearch/config/ElasticSearchConfig.class]: Bean instantiation via factory method failed; nes…

springboot怎么使用rides 缓存方法的返回值 完整例子

好的,下面是一个使用Spring Boot和Redis缓存方法返回值的完整示例: 添加依赖:在pom.xml中添加Spring Boot Redis依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> <…

在 CI/CD Pipeline 中实施持续测试的最佳实践!

随着软件开发周期的不断加快&#xff0c;持续集成&#xff08;CI&#xff09;和持续交付/部署&#xff08;CD&#xff09;已经成为现代软件开发的重要组成部分。在这一过程中&#xff0c;持续测试的实施对于确保代码质量、提高发布效率至关重要。本文将详细介绍在CI/CD流水线中…

JVM:JavaAgent技术

文章目录 一、Java工具的介绍二、Java Agent技术1、介绍2、静态加载模式3、动态加载模式 三、搭建java agent静态加载模式环境1、创建maven项目2、编写类和premain方法3、编写MANIFEST.MF文件4、使用maven-assembly-plugin进行打包5、创建Spring Boot应用 一、Java工具的介绍 …

有关css的题目

css样式来源有哪些&#xff1f; 内联样式&#xff1a; <a style"color: red"> </a> 内部样式&#xff1a;<style></style> 外部样式&#xff1a;写在独立的 .css文件中的 浏览器的默认样式 display有哪些属性 none - 不展示 block - 块类型…

基于深度学习的医疗数据分析

基于深度学习的医疗数据分析是将深度学习技术应用于医疗数据处理和分析&#xff0c;以提高疾病诊断、治疗规划、患者监护等方面的效率和准确性。这一领域涵盖了广泛的应用&#xff0c;包括影像分析、电子健康记录&#xff08;EHR&#xff09;处理、基因组数据分析等。以下是对这…

mac数据恢复软件哪个好用 macbook数据恢复专业软件下载 mac数据恢复概率大吗 苹果电脑数据恢复软件哪个好

作为办公的必需品&#xff0c;mac的普及率虽然比不上其他品牌的windows操作系统&#xff0c;但是使用人群也一致居高不下&#xff0c;因此&#xff0c;mac数据丢失的问题也时常发生。当数据丢失以后&#xff0c;如何找回数据成了一大难题。 一、Mac数据恢复概率大吗 一般情况下…

配置mysql8.0.21版本docker-compose启动容器

1. 总览 2 docker-compose.xml配置 version: 3 services:mysql:image: 192.168.188.131:8000/mysqlrestart: alwaysvolumes:- ./data:/var/lib/mysql- ./my.cnf:/etc/mysql/my.cnf- ./mysql-files:/var/lib/mysql-files- ./log/mysql:/var/log/mysqlenvironment:MYSQL_ROOT_PA…

掌握Perl的魔法:深入探索钩子(Hook)机制

掌握Perl的魔法&#xff1a;深入探索钩子&#xff08;Hook&#xff09;机制 在Perl编程语言中&#xff0c;钩子&#xff08;Hook&#xff09;是一种特殊的变量或函数&#xff0c;它们在特定的操作发生时自动触发。钩子可以被视为一种拦截器&#xff0c;允许程序员在程序执行的…

python中使用openpyxl库写一个简单的表格

如果你只需要写一个简单的表格并保存到Excel文件中&#xff0c;那么openpyxl或pandas都是很好的选择。这两个库都支持创建和保存Excel文件&#xff0c;并且使用起来相对简单。 以下是使用openpyxl库创建一个简单表格并保存到Excel文件的示例&#xff1a; from openpyxl impor…

huawei USG6001v1学习----NAT和智能选路

目录 1.NAT的分类 2.智能选路 1.就近选路 2.策略路由 3.智能选路 NAT:&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09; 指网络地址转换&#xff0c;1994年提出的。NAT是用于在本地网络中使用私有地址&#xff0c;在连接互联网时转而使用全局…

Skip List:平衡搜索效率与数据结构复杂性

在计算机科学中&#xff0c;跳表&#xff08;Skip List&#xff09;是一种概率型数据结构&#xff0c;它允许快速地在有序列表中进行搜索、插入和删除操作。跳表由William Pugh在1990年提出&#xff0c;它结合了链表的简单性和平衡树的高效性&#xff0c;是一种非常实用的数据结…

【MySQL】一些业务场景常见的查询,比如实现多表字段同步,递归查询等

目录 快速加注释多表关联查询更新多个字段循环查询子级方法1&#xff1a;递归查询方法2&#xff1a;循环查询 快速加注释 使用ALTER TABLE语句可以修改表结构&#xff0c;包括添加注释。以下是添加注释的语法&#xff1a; ALTER TABLE 表名 MODIFY COLUMN 列名 列类型 COMMEN…

【数据结构初阶】顺序表三道经典算法题(详解+图例)

Hello&#xff01;很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束&#xff0c;Show Time&#xff01; 1、…

TCP/IP协议,以及对等网络通信原理!

TCP/IP模型协议分层 应用层&#xff1a; HTTP&#xff1a;超文本传输协议&#xff08;网站访问WEB&#xff09;&#xff08;Apache、nginx&#xff09;(IIS) FTP&#xff1a;文件传输协议&#xff08;网络文件传输&#xff09; TFTP&#xff1a;简单文件传输协议&#xff0…

神经网络理论(机器学习)

motivation 如果逻辑回归的特征有很多&#xff0c;会造出现一些列问题&#xff0c;比如&#xff1a; 线性假设的限制&#xff1a; 逻辑回归是基于线性假设的分类模型&#xff0c;即认为特征与输出之间的关系是线性的。如果特征非常多或者特征与输出之间的关系是非线性的&#…

PyTorch LSTM 单步、多步时间预测

PyTorch LSTM 单步、多步时间预测 多维输入、多维输出&#xff1b;单步预测、多步滚动预测 import torch import torch.nn as nn import torch.optim as optimclass LSTMModel(nn.Module):def __init__(self, input_dim, hidden_dim, num_layers, output_dim):super(LSTMMode…