readxmls r语言_R语言 | 数据操作dplyr包

[更新~] Python网络爬虫与文本数据分析

公众号只带着Python字眼,却分享着R语言,不务正业,任性了~

dplyr简介

dplyr是R语言的数据分析包,很像python中的pandas,能对dataframe类型的数据做很方便的数据处理和分析操作。最初我也很奇怪dplyr这个奇怪的名字,我查到其中一种解释d代表dataframe

plyr是英文钳子plier的谐音library(tidyverse)## ── Attaching packages ────────────────────────────────────── tidyverse 1.3.0 ──## ✓ ggplot2 3.3.1     ✓ purrr   0.3.3## ✓ tibble  3.0.1     ✓ dplyr   1.0.0## ✓ tidyr   1.1.0     ✓ stringr 1.4.0## ✓ readr   1.3.1     ✓ forcats 0.5.0## ── Conflicts ───────────────────────────────────────── tidyverse_conflicts() ──## x dplyr::filter() masks stats::filter()## x dplyr::lag()    masks stats::lag()tidyverse::tidyverse_packages()##  [1] "broom"      "cli"        "crayon"     "dbplyr"     "dplyr"     ##  [6] "forcats"    "ggplot2"    "haven"      "hms"        "httr"      ## [11] "jsonlite"   "lubridate"  "magrittr"   "modelr"     "pillar"    ## [16] "purrr"      "readr"      "readxl"     "reprex"     "rlang"     ## [21] "rstudioapi" "rvest"      "stringr"    "tibble"     "tidyr"     ## [26] "xml2"       "tidyverse"

读取数据

tidyverse含有readr,所以不用导入readr#用readr包导入csv数据aapl 

查看数据基本信息

这里使用的是R语言的基本函数,不用导入包就可以使用

数据类型class(aapl)## [1] "spec_tbl_df" "tbl_df"      "tbl"         "data.frame"

字段colnames(aapl)## [1] "Date"   "Open"   "High"   "Low"    "Close"  "Volume"

记录数、字段数dim(aapl)## [1] 251   6

前5条记录head(aapl, n=5)

查看dplyr用例vignette("dplyr")## starting httpd help server ... done

dplyr常用函数

Arrange

对appl数据按照字段Volume进行降序排序。为了写作方便,我就不再写完整的调用,在这里arrange()代替 dplyr::arrange()library(dplyr)#dplyr::arrange(aapl, -Volume)arrange(aapl, -Volume)

管道符 %>%

在dplyr中,有一个管道符%>%,符号左侧表示数据的输入,右侧表示下游数据处理环节。

我们可以用管道符 %>% 改写上面的代码,两种写法得到的运行结果是一致的,用久了会觉得管道符 %>% 可读性更强,后面我们都会用 %>% 来写代码。aapl %>% arrange(-Volume)

Select

选取 Date、Close和Volume三列aapl %>% select(Date, Close, Volume)

只选取Date、Close和Volume三列,其实另外一种表达方式是“排除Open、High、Low,选择剩下的字段的数据”。aapl %>% select(-c("Open", "High", "Low"))

Filter

按照筛选条件选择数据#从数据中选择appl股价大于150美元的交易数据aapl %>% filter(Close>=150)

从数据中选择appl股价大于150美元 且 收盘价大于开盘价的交易数据aapl %>% filter((Close>=150) & (Close>Open))

Mutate

将现有的字段经过计算后生成新字段。#将最好价High减去最低价Low的结果定义为maxDif,并取logaapl %>% mutate(maxDif = High-Low,                log_maxDif=log(maxDif))

得到记录的位置(行数)aapl  %>% mutate(n=row_number())

Group_By

对资料进行分组,这里导入新的 数据集 weather#导入csv数据weather % as_tibble()## Parsed with column specification:## cols(##   Date = col_character(),##   city = col_character(),##   temperature = col_double(),##   windspeed = col_double(),##   event = col_character()## )weather

按照城市分组weather %>% group_by(city)

为了让大家看到分组的功效,咱们按照城市分别计算平均温度weather %>%     group_by(city) %>%     summarise(mean_temperature = mean(temperature))## `summarise()` ungrouping output (override with `.groups` argument)

weather %>%      summarise(mean_temperature = mean(temperature))

R语言相关

R语言 | 读写txt、csv、excel文件

近期文章plotnine: Python版的ggplot2作图库 小案例: Pandas的apply方法 stylecloud:简洁易用的词云库用Python绘制近20年地方财政收入变迁史视频Python网络爬虫与文本数据分析读完本文你就了解什么是文本分析 文本分析在经管领域中的应用概述综述:文本分析在市场营销研究中的应用从记者的Twitter关注看他们稿件的党派倾向?Pandas时间序列数据操作70G上市公司定期报告数据集文本数据清洗之正则表达式shreport库: 批量下载上海证券交易所上市公司年报Numpy和Pandas性能改善的方法和技巧漂亮~pandas可以无缝衔接BokehYelpDaset: 酒店管理类数据集10+G

后台回复关键词【dplyr】获取本文代码和数据“分享”和“在看”是更好的支持!

你可能感兴趣的:(readxmls,r语言)