R语言前三节笔记

第一二三节线下课.rar
GDP3.csv

第一二节课


1.定类

#字符串记录月份有两个问题
#1. 12个月 输入错误不会有任何反应
#2. 对月份的排序不是按照月份的先后进行 
**m1 <- c("三月","四月","一月","六月")
m2 <- c("三月","四月","一月","六月","月份")**
#排序按 字母顺序
sort(m1)

#用因子来解决问题 ,创建因子 前 必须先创建 有效的一个列表:
**month_levels <- c("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月")
y1 <- factor(m1,levels = month_levels)**

#不在有效集合内的所有值都会自动转换为 NA:
**y2 <- factor(m2,levels = month_levels)
y2**

在这里插入图片描述

2.字段重命名

library(tidyverse)
library(readr)
gdp <- read_delim("F:/r数据/第一节线下课/GDP3.csv","\t", escape_double = FALSE, trim_ws = TRUE)

#字符串拼接 str_C()
str_c("a","b")

#生成一组向量
str_c("y",2020:2000)

tmp <- str_c("y",2020:2001)

#输出gdp列表的横轴 字段名称
colnames(gdp)

#改变向量中第二个字符串的值
colnames(gdp)[2] <- "y2019"

#改变向量中 第二到第二十个 字符串的值
colnames(gdp)[2:21] <- tmp
gdp

#返回表中的行数和列数
dim(gdp)
#返回表中的列数
dim(gdp)[2]
#2-列数的数据
colnames(gdp)[2:dim(gdp)[2]] <- tmp

在这里插入图片描述
在这里插入图片描述

3.选择列子集

library(tidyverse)
library(readr)
library(dplyr)
gdp <- read_delim("D:/r数据/第一节线下课/gdp4.csv","\t", escape_double = FALSE, trim_ws = TRUE)

#gdp[9:15]

tmp <- c("山东省","江苏省","浙江省","福建省","山西省","上海市")
#gdp <- filter(地区=="山东省"|地区=="河南省")
gdp <- filter(gdp,地区 %in% tmp)

#select

在这里插入图片描述

4.str字符方法

library(tidyverse)
library(readr)
library(dplyr)
x <- c("白日依山尽","黄河入海流","欲穷千里目","更上一层楼")

str_length(x)
str_c(x[1],",",x[2])
str_count("白 白 白 黑 黑","白")
str_detect("白白白黑黑","白")
str_detect("白白白黑黑","红")
str_locate("1222342222256","([2])+")
M<-str_split("白 白 白 黑 黑"," ")
str_sub("123456789评论数",str_locate("00010000评论数","1"))
#floor向上取整
loc <- floor((str_length(x)/2)+1)
str_sub(x,loc,loc)

在这里插入图片描述


第三节课

1.mutate()创建一个新变量

library(tidyverse)
library(readr)
gdp1 <- read_delim("G:/r数据/第一节线下课/GDP3.csv","\t", escape_double = FALSE, trim_ws = TRUE)

##mutate()创建一个新变量 

gdp2<- gdp1 %>%
 mutate(GDP_tmp=(`2019年`-`2000年`)/`2000年`*100)%>%
 select(地区,`2019年`,`2000年`,GDP_tmp)%>%
 arrange(desc(GDP_tmp))

gdp2

##相当于switch 
gdp3<- gdp1 %>%
  mutate(
    类型=case_when(
      str_detect(地区,"市") ~ "直辖市",
      str_detect(地区,"区") ~ "自治区",
      TRUE ~ "省份"
    )
  )

gdp3


gdp1 %>%
 mutate(排名2018=min_rank(`2018年`))%>%
 select(地区,`2018年`,排名2018)%>%
 arrange(排名2018)

gdp1


gdp2
在这里插入图片描述

gdp3
在这里插入图片描述

gdp1
在这里插入图片描述

2.summarize()函数 将数据框折叠成一行

library(tidyverse)
library(readr)
gdp1 <- read_delim("D:/r数据/第一节线下课/GDP3.csv","\t", escape_double = FALSE, trim_ws = TRUE)


gdp1<- gdp1 %>%
  mutate(
    类型=case_when(
      str_detect(地区,"市") ~ "直辖市",
      str_detect(地区,"区") ~ "自治区",
      TRUE ~ "省份"
    )
  )
#将上面得到的 “类型” 列   用group_by(类型) 分组 然后求 2016年的中位数 和 平均值
gdp1 %>%
  group_by(类型)%>%
  summarise(avg2016=mean(`2016年`),median2016 = median(`2016年`))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿鹏啊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值