《R语言与农业数据统计分析及建模》学习——操作数据框

server/2024/10/18 6:02:40/

1、数据框的增删改查

(1)新增或删除行列

        R的基础包中使用rbind()函数新增行,使用[-行索引,]的方式从数据框中删除列,使用$的方式新增或删除列。

# 创建一个示例数据框
df<-data.frame(Region=c("south","north","east"),crop=c("maize","wheat","rice"),yield=c(4500,3900,2700)
)
new_row=c('west','soybean',1700)# 新增一行
df<-rbind(df,new_row)
print(df)# 删除第2行
df<-df[-2,]
print(df)# 新增一列
df$area<-c(85,92,78)
print(df)# 删除列
df$crop<-NULL
print(df)

(2)修改数据

        要修改数据框中的数据,可以使用行列索引或列名索引的方式来定位要修改的数据,并赋予新的执行。

# 创建一个示例数据框
df<-data.frame(Name=c("Alice","Bob","Charlie"),Age=c(25,30,22),Gender=c("Female","Male","Male"),Score=c(85,92,78)
)
print(df)# 修改数据框中的数据
df[2,"Age"]<-31
df$Score[3]<-80# 显示数据框
print(df)

2、数据框的合并和拆分

(1)按行合并数据框

        R语言中,使用rbind()函数按行合并数据框

# 创建示例数据框1
df1<-data.frame(region=c("A","B","C"),yield=c(25,30,22)
)# 创建示例数据框2
df2<-data.frame(region=c("D","E"),yield=c(28,27)
)# 按行合并数据框
merged_df<-rbind(df1,df2)
print(merged_df)

(2)按列合并数据框

        R语言中,使用cbind()函数按行合并数据框

# 创建示例数据框1
df1<-data.frame(region=c('A','B','C'),crop=c('maize','wheat','rice')
)# 创建示例数据框2
df2<-data.frame(yield=c(4500,3900,2700),area=c(85,92,78)
)# 按列合并数据框
merged_df<-cbind(df1,df2)
print(merged_df)

(3)拆分数据框

        使用split()函数根据数据框中选定列的不同取值将数据框拆分为多个子数据框。

# 创建示例数据框
df<-data.frame(Region=c('North','North','South','South','North','South'),Crop=c('Wheat','Rice','Corn','Wheat','Rice','Corn'),Production=c(50000,80000,70000,55000,85000,72000),Area=c(10000,12000,15000,11000,13000,16000)
)# 拆分数据框为多个子数据框,按照Region列的不同取值拆分
sub_dfs<-split(df,df$Region)
print(sub_dfs)

3、数据框的排序和重塑

        使用order()函数按照数据框中选定列的数据大小对数据框进行排序。

# 创建示例数据框
df<-data.frame(Region=c('North','North','South','South','North','South'),Crop=c('Wheat','Rice','Corn','Wheat','Rice','Corn'),Production=c(50000,80000,70000,55000,85000,72000),Area=c(10000,12000,15000,11000,13000,16000)
)# 按照Region列对数据框进行升序排序
sorted_df<-df[order(df$Region),]
print(sorted_df)

        使用melt()函数将数据框转换为长格式

# 创建示例数据框
df<-data.frame(Region=c('North','North','South','South','North','South'),Crop=c('Wheat','Rice','Corn','Wheat','Rice','Corn'),Production=c(50000,80000,70000,55000,85000,72000),Area=c(10000,12000,15000,11000,13000,16000)
)# 将数据框转换为长格式
melted_df<-melt(df,id.vars='Region')
print(melted_df)


http://www.ppmy.cn/server/5686.html

相关文章

计算机视觉入门

计算机视觉入门&#xff1a;探索图像识别的奥秘 &#x1f4f7;&#x1f4a1; 计算机视觉是人工智能的一个重要分支&#xff0c;它致力于赋予计算机类似于人类视觉系统的能力&#xff0c;使其能够从图像中提取信息并理解视觉世界。本文将详细介绍计算机视觉的基础知识、关键技术…

ROS分布式通讯配置

4WD 必读&#xff1a;分布式通讯是相对于用虚拟机来连接小车上主机来说&#xff0c;如果是 4WD 笔记本无主 机用户&#xff0c;不存在分布式通讯一说。 1.4WD 用户单笔记设置一&#xff0c;连接底盘和雷达还有摄像头。 因为虚拟机带宽问题&#xff0c;无法保证摄像头正常运行。…

前端工程化01-复习jQuery当中的AJAX

4.1、基础概念 什么是服务器 一台存储网站内容、网站文件的电脑 什么是资源 网站中使用的文件&#xff08;html、css、图片、…&#xff09;这些东西就叫做资源数据也是服务器上的资源&#xff0c;而且是一个网站的灵魂 客户端 客户端应该指上网的设备但是在前端开发中&a…

安装WSL2

PS C:\Users\pc> wsl --set-default-version 2 有关与 WSL 2 关键区别的信息&#xff0c;请访问 https://aka.ms/wsl2操作成功完成。PS C:\Users\pc> wsl --update 正在检查更新。 已安装最新版本的适用于 Linux 的 Windows 子系统。PS C:\Users\pc> wsl --shutdownPS…

【C++初阶】List使用特性及其模拟实现

1. list的介绍及使用 1.1 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前…

基于Kubernetes集群构建MongoDB

基于Kubernetes集群构建MongoDB 作者:行癫(盗版必究) 一:基础环境 1.Kubernetes集群正常运行 2.Harbor私有仓库正常运行 二:MongoDB项目部署 ​ MongoDB项目对应Kubernetes的yaml文件: --- apiVersion: v1 kind: Namespace metadata:name: m

论文笔记:Large Language Model for Participatory Urban Planning

202402 arxiv 大模型城市规划 引入了一个基于LLM的多代理协作框架&#xff0c;模拟规划师和数千名具有不同特征和背景的居民&#xff0c;用于参与式城市规划——>生成考虑居民多样化需求的城市区域土地利用规划为了提高讨论的效率&#xff0c;论文采用了鱼缸讨论机制&#…

请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法和详细的解析。 题干 请编写函数fu…