用R语言分析我的fitbit计步数据

目标:把fitbit的每日运动记录导入到R语言中进行分析,画出统计图表来

已有原始数据:fitbit2014年每日的记录电子表格文件,示例如下:

日期 消耗卡路里数 距离 攀爬楼层数 久坐不动的分钟数 不太活跃分钟数 中度活跃分钟数 非常活跃分钟数
2014年4月27日 2736 16581 11.84 7 1111 131 117 81
2014年4月28日 2514 12622 9.01 6 910 136 59 76
2014年4月29日 2231 8357 5.97 9 1208 129 76 27
2014年4月30日 2247 7959 5.68 9 1196 137 83 24
2014年5月1日 2563 13014 9.29 21 1107 156 131 46
2014年5月2日 2376 10010 7.15 17 1147 164 99 30
2014年5月3日 2553 13002 9.28 25 1119 151 120 50
2014年5月4日 2370 10090 7.23 19 1173 147 82 38

1)转换xls为csv

首先要把xls电子表格导入,这里用最简单的办法,首先将xls另存为csv文件。为了输入命令方便,把列名都改为了英文。

2)将csv复制到工作目录中,或设置自己的工作目录,以让R环境可以找到相应的文件

将csv放在工作目录下,也可以用setwd("c:/myfitbit")设置自己的工作目录

3)导入csv文件到数据框

fitbit <- read.table("fitbit.csv", header=TRUE, sep=",", row.names="date")

也可以直接调用read.csv()函数,可以少填几个参数选项

4)看看数据的概貌

summary(fitbit)

可以看出每列数据的最小、最大、平均值、中位数等统计信息。

ka step dist floor
Min. :2031 Min. : 0 Min. : 0.000 Min. : 0.00
1st Qu.:2290 1st Qu.: 8593 1st Qu.: 6.135 1st Qu.: 11.00
Median :2408 Median :10515 Median : 7.570 Median : 16.00
Mean :2432 Mean :10152 Mean : 7.274 Mean : 17.35
3rd Qu.:2547 3rd Qu.:12665 3rd Qu.: 9.120 3rd Qu.: 20.00
Max. :3360 Max. :25779 Max. :18.410 Max. :165.00
sit inactive move active
Min. : 829 Min. : 0.0 Min. : 0.00 Min. : 0.00
1st Qu.:1119 1st Qu.:126.0 1st Qu.: 75.00 1st Qu.: 18.50
Median :1159 Median :146.0 Median : 93.00 Median : 37.00
Mean :1170 Mean :137.3 Mean : 91.89 Mean : 37.26
3rd Qu.:1188 3rd Qu.:163.0 3rd Qu.:113.00 3rd Qu.: 51.00
Max. :1440 Max. :238.0 Max. :222.00 Max. :137.00

5)看看数据框的结构,即各列分别是什么类型?

用str函数,str是structure单词的缩写。

str(fitbit)

‘data.frame‘: 243 obs. of 8 variables:
$ ka : num 2496 2513 2228 2336 2508 ...
$ step : num 12803 12955 8768 8971 12078 ...
$ dist : num 9.14 9.47 6.31 6.41 9.05 ...
$ floor : int 15 12 16 16 8 20 12 13 13 13 ...
$ sit : num 1161 1188 1234 1140 1153 ...
$ inactive: int 123 112 97 174 130 177 156 121 126 123 ...
$ move : int 98 67 72 113 108 141 99 118 65 73 ...
$ active : int 58 73 37 13 49 61 40 37 47 56 ...

6)画出每天步数的统计图

plot(fitbit$step)

要取出某列,可以用$符号。

如果每次都写上fitbit$太麻烦,就可以用attach(fitbit)把这个数据框的搜索路径加上,这样以后就可以输入step来表示fitbit$step了。

与attach()相对的是detach()函数,为了避免编程错误,最好成对出现。

7)看看走的步数与公里数有什么关系?

plot(setp, dist)

可以看出fitbit实际上就是一个非常简单的算法把步数换算为公里数,什么高级计算也没有。

8)给图加上标题

title("fitbit统计图")

9)用命令的方式将图形输出到jpeg文件中

jpeg("a.jpg") #将绘图送到jpeg图形文件中

plot(step, dist)

title("fitbit统计图")

dev.off() #最后要关闭设备

其它命令:dev.new()可以打开一个新的绘图窗口。dev.next(), dev.prev(), dev.set()...

当然在R交互环境中的图形上点右键,或用R环境的菜单功能,可以随便复制和输出图形。

10)看看步数的统计分布图

hist(step)

平均下来每天超过1万步,有些记录在fitbit同步时丢失,所以有20多天走了零步。

11)显示日期

日期是以"2014年10月28日"这样的字符串格式记录的,默认是不转换为日期型的,需要用as.Date函数转换一下。

month <- as.Date(row.names(fitbit), "%Y年%m月%d日")
plot(month, step)

这时可以看到水平轴已经显示的是日期了。

时间: 2024-10-25 15:38:02

用R语言分析我的fitbit计步数据的相关文章

R语言分析(一)-----基本语法

  一, R语言所处理的工作层: 解释一下: 最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告 再往上的三层,分别是数据挖掘,数据展现和数据决策. 由上图可知,R语言是可以用于数据挖掘,数据展现,而后领导根据展现的数据来决策,R语言在数据展现的方面,拥有很强大的功能. 二,R语言的数据结构: 包括如下的几项:包括向量,矩阵,数组,数据框,列表和因子 1,向量: 创建向量的方法一共有三种,分别如下: 第一种,使用c()的这个方法: 由于博客中木有R语言

用R语言分析詹姆斯的客场得分

篮球小皇帝--勒布朗·詹姆斯(LeBron James), 1984年12月30日出生在美国·俄亥俄州·阿克伦,美国男子职业篮球运动员,司职小前锋,现效力于克利夫兰骑士队. 勒布朗·詹姆斯在2003年的NBA选秀大会中,首轮第一顺位被克利夫兰骑士队选中.2003-2010年,詹姆斯在骑士队效力7年,期间获得两届NBA最有价值球员(MVP).2010年转会至迈阿密热火队,与德怀恩·韦德.克里斯·波什组成"三巨头"阵容. 现在,用R语言来分析詹姆斯(LBJ)与哪个球队相遇时,表现得最好.先

R语言分析nginx日志

nginx日志举例 172.16.1.1 - - [04/Feb/2015:23:40:01 +0800] "POST /api/message/query HTTP/1.1" 200 52 "-" "Apache-HttpClient/4.2 (java 1.5)" "-" "message.test.com" "172.16.3.159" "-" "0.

R语言与mysql结合处理交通数据及其算法优化

一.序言 交通数据处理是智能交通的一个很关键的要素,更好的分析交通数据,可以为市政管理.交通信号管制.道路规划.交通设施建设提供更好的咨询和建议.全国各地政府都在寄期望于智能交通,以缓解城市拥堵,甚至一定程度上解决大城市病或者说是市政建设滞后的问题.同时,诸如百度地图.谷歌地图.高德地图.微软地图都推出了相应的交通应用,以期找到更大的商机. 用好的存储方法和好的算法进行分析,在批处理方面可以更多的分析历史数据,分析和发现问题,为未来进行预测以及公共查询服务:在实时计算方面可以更多的进行交通监控.

R语言使用二元回归将序数数据建模为多元GLM

用于分析序数数据的最常见模型是 逻辑模型 .本质上,您将结果视为连续潜在变量的分类表现.此结果的预测变量仅以一种方式对其产生影响,因此 为每个预测变量获得一个回归系数.但是该模型有几个截距,它们代表将变量切分以创建观察到的分类表现的点. 就像在普通回归模型中一样,每个预测变量都会以一种方式影响结果,这就是比例赔率假设或约束.或者,可以让每个预测变量在每个切入点对结果产生不同的影响. 如何使用单变量GLM软件对此建模?UCLA idre页面上有关于多元随机系数模型的文章.在这里很重要,因为他们使用

R语言基础入门之二:数据导入和描述统计

by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there to comment and to read  the full post. 一.数据导入 对初学者来讲,面对一片空白的命令行窗口,第一道真正的难关也许就是数据的导入.数据导入有很多途径,例如从网页抓取.公共数据源获得.文本文件导入.为了快速入门,建议初学者采取R语言协同Excel电子表格的方法.也就

R语言分析南京房价

**################################################# 本项目分析南京房价数据,数据来源:链家网 autho:owl 前言:本文利用网上爬取的南京二手房信息,利用R进行简单分析,数据做仅学习研究练习用,侵删 首先读取数据,数据为.csv格式 houseprice = read.csv("E:/houseprice.csv",stringsAsFactors = F) View(head(houseprice,30)) str(housep

用R语言分析《我是歌手》出场顺序与名次的关系

上周<我是歌手>吵吵闹闹地落幕了,这一季是我最关注的一季,很认真的从头看到尾.网上各种讨论,特别反感那些说看到谁谁谁就不想看了的说法,其实单纯地去听他们的歌声,会觉得即使是之前不看好的那些歌手都能给你很多惊喜和感动.以前对清华哥哥的印象是歌都很好听,但是自己唱不红,翻唱都会变红啊,现在喜欢上他的声音了啊!不管这个节目有没有什么内部操作黑幕,单纯听他们的歌还是挺好的.当然,这篇文章的主旨不在此,我们要看的如题<我是歌手>节目中,出场顺序和名词的关系.关系肯定是有的,节目里自己都说到了

R语言分析(二)——薛毅R语言第二章后面习题解析

包括2.2—2.6中间的习题,2.2的习题中第三问和第四问,应该有其他的解答方法,但我看他的题目,似乎是在A和B的基础上进行,所以就选择了使用for循环的方法 做着习题,又不断查着书,这样,书籍也熟悉了,习题也做完了,感觉特别爽的还是... 解答:上面题目中第二小问是个错误的,改写成D=A ,才有下面的答案 (1)(2)(3): (4): (5): 2.3题答案: 2.4题答案: 2.5题的答案: 完成的答案如下图所示: 1,生成纯文本和csv,并读取 2,使用excel打开生成的csv