R语言求一行(列表、list)数据的平均数操作

 更新时间:2021年5月6日 13:51  点击:2285

R语言求一个列表的平均数可以使用mean() :

mean英文意思有平均数的含义

x=c(1,3,5,7,9)
max(x)
#这样即可求得平均数为 : 5

假如读取过一个csv文件之后,要求其中一行数据中指定某个区间内的平均数可以使用rowMeans()

data = read.csv(“input.csv",sep=",",header=T)
rowMeans(data[10:17])

补充:R语言-数据框分组求平均值

【技术关键】

1、从excel把数据读到数据框

2、算法实现将数据框的一些数据合为新的数据并组成新的数据框

3、将处理结果,即新的数据框保存到excel文件(或.csv)

4、将绘图结果输出到PDF文件保存

最近在尝试分析近日的环境温湿度变化;

虽然设备只运行了48小时左右;

但收集到的有效数据有30000+(当然对于R而言这算很小意思的了);

由于环境温湿度在一小段时间内基本保持稳定;

所以在分析几日内的温湿度变化情况时可以以每10min为单位记录数据;

这就需要一个脚本,能将数据有效划分为单位后求均值再保存到表;

###################################################
# - Filename : washData.R
# - Author : Johan Version : 1.0 Date : 2018/5/3
# - Discription : 将excel表中的数据分10min计算平均值
#     并保存到excel
# - Function list : 
# 1.
# - Others : 
# 1.本程序可分析.xls或.csv文件
###################################################
# 引用包
library(RODBC)
# 设置工作目录
setwd("H:/mySoftware/R/myData")
# 导入数据到myDataFrame,文件名根据需要改变
# 打开th_record2.xls,并读取表Sheet1
channel <- odbcConnectExcel2007("th_record2.xls")
myDataFrame <- sqlFetch(channel, "Sheet1")
odbcClose(channel)
# 为myDataFrame增加列名
dataColName <- c("temp","humi","time","year","month","day","hour","minute","second")
names(myDataFrame) <- dataColName
# 初始化缓存向量
# 时分秒为起始量,可修改
NUM <- c()   # 编号
TEMP <- c()   # 温度
HUMI <- c()   # 湿度
t <- 0    # 温度缓存
h <- 0    # 湿度缓存
num <- 0    # 编号缓存
dn <- 0    # 计数器
flag <- FALSE  # 保存指示
# 循环处理数据
for(i in 1 : 31600){
 
 # 当前分钟是否为10的倍数
 if(myDataFrame$minute[i] %% 10 == 0){
 
 # 计算上一组数据的均值并保存
 if(flag){
  t <- t / dn
  h <- h / dn
  TEMP <- c(TEMP, t)
  HUMI <- c(HUMI, h)
  num <- num + 1
  NUM <- c(NUM, num)
  flag <- FALSE
 }
 
 # 缓存复位
 dn <- 0
 t <- 0
 h <- 0
 
 # 添加记录
 t <- t + myDataFrame$temp[i]
 h <- h + myDataFrame$humi[i]
 dn <- dn + 1 
 }
 
 else{
 
 # 添加记录
 t <- t + myDataFrame$temp[i]
 h <- h + myDataFrame$humi[i]
 dn <- dn + 1
 flag <- TRUE 
 }
}
# 构建新数据框
newFrame <- data.frame(NUM, TEMP, HUMI)
newName <- c("number","temp","humi")
names(newFrame) <- newName
# 写入.csv文件
write.csv(newFrame, "new_th_record.csv")
# 绘图
plot(newFrame$number, newFrame$temp, pch=20, lty=3, col="red")
lines(newFrame$number, newFrame$humi, pch=20, lty=3, col="blue")

把处理结果保存到新的.csv或者.xls文件即是整个脚本的目的所在,方便后面的数据分析。

运行后得到的效果如下:(由于温湿度的数值不在一个层次所以反映得不太直观,可尝试调换plot和lines的顺序,通过绘图方面的学习可以画出更好看的图)

如果想要输出为PDF保存该图片,可以运行另一个脚本:

pdf("new_th_record.pdf")
plot(newFrame$number, newFrame$humi, pch=20, lty=3, col="blue")
lines(newFrame$number, newFrame$temp, pch=20, lty=3, col="red")
dev.off()

PDF文件的一个好处就是它里面的图片是矢量的,也就是说放大图片不会改变图片的原样,原本看上去粘在一块儿的点放大以后能看出来是分开的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持猪先飞。如有错误或未考虑完全的地方,望不吝赐教。

[!--infotagslink--]

相关文章

  • Java8 实现stream将对象集合list中抽取属性集合转化为map或list

    这篇文章主要介绍了Java8 实现stream将对象集合list中抽取属性集合转化为map或list的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-05
  • java8如何用Stream查List对象某属性是否有重复

    这篇文章主要介绍了java8如何用Stream查List对象某属性是否有重复的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-11
  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • R语言作图:坐标轴的设置方式

    这篇文章主要介绍了R语言作图:坐标轴的设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • R语言 如何删除指定变量或对象

    这篇文章主要介绍了R语言删除指定变量或对象的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • C#中list用法实例

    这篇文章主要介绍了C#中list用法,结合实例形式分析了C#中list排序、运算、转换等常见操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • R语言基本画图函数与多图多线的用法

    这篇文章主要介绍了R语言基本画图函数与多图多线的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Java8处理List的双层循环问题

    这篇文章主要介绍了Java8处理List的双层循环问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-19
  • C# List 排序各种用法与比较

    这篇文章主要介绍了C# List 排序各种用法与比较的相关资料,需要的朋友可以参考下...2020-06-25
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • js实现列表按字母排序

    这篇文章主要为大家详细介绍了js实现列表按字母排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-11
  • C# List介绍及具体用法

    这篇文章主要介绍了C# List介绍及具体用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • Java List集合返回值去掉中括号('[ ]')的操作

    这篇文章主要介绍了Java List集合返回值去掉中括号('[ ]')的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-29
  • javaScript年份下拉列表框内容为当前年份及前后50年

    javascript下拉列表框,内容为当前年份及前后50年,默认选择为当前年份 复制代码 代码如下: <script language="javascript" type="text/javascript"> window.onload=function(){ //设置年份的选择 var myDate= new Date(...2014-05-31
  • easyUI下拉列表点击事件使用方法

    这篇文章主要为大家详细介绍了easyUI下拉列表点击事件的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-22
  • R语言-如何将list转换为向量

    这篇文章主要介绍了R语言-将list转换为向量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • Python 列表(List)的底层实现原理分析

    这篇文章主要介绍了Python 列表(List)的底层实现原理分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • R语言-如何切换科学计数法和更换小数点位数

    这篇文章主要介绍了R语言-切换科学计数法和更换小数点位数的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • R语言创建矩阵的实现方法

    这篇文章主要介绍了R语言创建矩阵的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-06
  • JavaScript实现网页下拉列表的省市联动

    这篇文章主要为大家详细介绍了JavaScript实现网页下拉列表的省市联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-07