当前位置: 首页 > wzjs >正文

苹果手机免费做ppt模板下载网站有哪些比较有名的个人网站

苹果手机免费做ppt模板下载网站有哪些,比较有名的个人网站,网站数据库建设计划书,网易企业邮箱客服上次教程我们已经和大家一起完成了创建数据集的学习&#xff0c;在本次内容里我们将进一步对数据进行管理与操作。 示例展示&#xff08;本节均用它学习&#xff09; leadership <- data.frame(managerc(1,2,3,4,5),datec("10/24/08","10/28/08",&quo…

上次教程我们已经和大家一起完成了创建数据集的学习,在本次内容里我们将进一步对数据进行管理与操作。

示例展示(本节均用它学习)

leadership <- data.frame(manager=c(1,2,3,4,5),date=c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09"),country=c("US","US","UK","UK","UK"),gender=c("M","F","F","M","F"),age=c(32,45,25,39,99),q1=c(5,3,3,3,2),q2=c(4,5,5,3,2),q3=c(5,2,5,4,1),q4=c(5,5,5,NA,2),q5=c(5,5,2,NA,1))
leadership
##   manager     date country gender age q1 q2 q3 q4 q5
## 1       1 10/24/08      US      M  32  5  4  5  5  5
## 2       2 10/28/08      US      F  45  3  5  2  5  5
## 3       3  10/1/08      UK      F  25  3  5  5  5  2
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1

3.1 创建新变量请输入标题   

3.1.1语法

变量名 <- 表达式

这一过程会涉及到一些算术运算符和函数:

算术运算符描述
+
-
*
/
^or**求幂
x%%Y求余,例如:5%%2的结果为1
x%/%Y整数除法。例如:5%/%2的结果为2

3.1.2举例

若我们想创建2个新变量分别为total_score(q1-q5之和),和mean_score(q1-q5的均值):

方法一:

leadership$total_score <- leadership$q1+leadership$q2+leadership$q3+leadership$q4+leadership$q5leadership$mean_score <- (leadership$q1+leadership$q2+leadership$q3+leadership$q4+leadership$q5)/5
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6

方法二:利用transform()函数,能将原始数据中的数据进行转换,转换方式包括按照指定的函数,添加新的变量和删除变量。

leadership <- transform(leadership,total_score=q1+q2+q3+q4+q5,mean_score=(q1+q2+q3+q4+q5)/5)
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6

3.2 变量的重编码(recoding)

leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

2)写法2,利用within()函数,它与with()函数类似,不同的是within()允许修改数据框

leadership <- within(leadership,{agecat <- NA agecat[age>75] <- "Elder"agecat[age>=55&age<=75] <- "Middle"agecat[age<55] <- "Young"})
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

3.3 变量的重命名

3.3.1 方法一:fix(数据框)

例如

fix(leadership)

则出现一个交互式编辑器,单击变量名则可对其重命名

图片

3.3.2 方法二:name()函数

语法

names(leadership)
##  [1] "manager"     "date"        "country"     "gender"      "age"        
##  [6] "q1"          "q2"          "q3"          "q4"          "q5"         
## [11] "total_score" "mean_score"  "agecat"
names(leadership)[2] <- "testDate"
leadership
##   manager testDate country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder
names(leadership)[6:10] <- c("item1","item2","item3","item4","item5")
leadership
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
## 4       4 10/12/08      UK      M  39     3     3     4    NA    NA          NA
## 5       5   5/1/09      UK      F  99     2     2     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder

3.4 缺失值(NA)

3.4.1 检测数据中是否含有缺失值

x为向量、数据框等名字,返回结果为FALSE=非NA,TRUE=NA,返回位置与元素或数值位置对应

is.na(x)

例如:

is.na(leadership[,6:10])
##      item1 item2 item3 item4 item5
## [1,] FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE  TRUE  TRUE
## [5,] FALSE FALSE FALSE FALSE FALSE

缺失值NA不可标记,无法使用比较运算符来检测其是否存在。

在R中无限的或不可能的值均不认为是缺失值,分别用is.infinite()is.nan()来检测是否是无限的或不可能值(不是一个数)。

3.4.2 重编码某些值为NA

在数据分析前,有的观测值差异较大或者一看就是错的,则可以设置为NA 例如:

leadership$age[leadership$age==99] <- NA

3.4.3 剔除NA

由于在数据分析时,若数据集中含有NA,则算术表达式和函数计算出来的也是NA,因此数据分析前应进行剔除。

  • 3.4.3.1 仅剔除NA值

语法:

na.rm=TRUE

举例:

x <- c(1,2,NA,3)
y <- sum(x)
z <- mean(x)
y1 <- sum(x,na.rm = TRUE)
z1 <- mean(x,na.rm=TRUE)
y
## [1] NA
y1
## [1] 6
z
## [1] NA
z1
## [1] 2
na.rm=TRUE

注意:使用不同的函数,如这里的sum(),应用帮助命令如help(“sum”)检查这些函数如何去除NA

  • 3.4.3.2剔除NA值所在的行(行删除)

语法:x为数据集的名字

na.omit(x)

例如:

leadership
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
## 4       4 10/12/08      UK      M  39     3     3     4    NA    NA          NA
## 5       5   5/1/09      UK      F  NA     2     2     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder
newdata <- na.omit(leadership)
newdata
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young

3.5 日期值

3.5.1 定义

日期值一般以字符串形式输入到R中,然后转换为以数值型存储的日期变量,可以用as.Date()执行该转换。语法(x为字符型数据,input_format则为用于读入日期的适当格式):

as.Date(x,"input_format")

日期格式有:

符号含义示例
%d数字表示的日期(0-31)0-31
%a缩写的星期名Mon
%A非缩写的星期名Monday
%m月份(0-12)00-12
%b缩写的月份Jan
%B非缩写的月份January
%y两位数年份07
%Y四位数年份2007

举例:默认的输入格式为yyy-mm-dd,若输入的格式不是这种,则需要注明;

在leadership中日期是mm/dd/yy格式编码的字符型变量,因此:

myformat <- "%m/%d/%Y"
leadership$testDate <- as.Date(leadership$testDate,myformat)

在完成这一转换后就变成了数值型数据,可以对其进行分析和绘图。

两个实用函数:Sys.Date()返回当天的日期和date()返回当前的时间和日期

Sys.Date()
## [1] "2023-11-21"
date()
## [1] "Tue Nov 21 17:18:43 2023"

format(x,format=“output_format”)可以输出指定格式的日期

mydate <- Sys.Date()
format(mydate,format="%B %d %Y")
## [1] "十一月 21 2023"

3.5.2 用于计算

1)直接用算术运算符

startdate <- as.Date("2020-09-21")
enddate <- as.Date("2023-01-19")
days <- enddate-startdate
days
## Time difference of 850 days

2)使用difftime()函数

startdate <- as.Date("2020-09-21")
enddate <- as.Date("2023-01-19")
difftime(enddate,startdate,units = "days")
## Time difference of 850 days

3.6 类型判断和转换

判断转换类型
is.numeric()as.numeric()数值型
is.character()as.character()字符型
is.vector()as.vector()向量
is.matrix()as.matrix()矩阵
is.data.frame()as.data.frame()数据框
is.factor()as.factor()因子型
is.logical()as.logical()逻辑型

括号里为数据集的名字

3.7 数据排序

order()函数进行,默认升序,在变量前加一减号则为降序,也可以按多个条件排序

newdata <- leadership[order(leadership$age),]
newdata1 <- leadership[order(leadership$gender,leadership$age),]
newdata2 <- leadership[order(leadership$gender,-leadership$age),]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
##   total_score mean_score agecat
## 3          20        4.0  Young
## 1          24        4.8  Young
## 4          NA         NA  Young
## 2          20        4.0  Young
## 5           8        1.6  Elder
newdata1
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
##   total_score mean_score agecat
## 3          20        4.0  Young
## 2          20        4.0  Young
## 5           8        1.6  Elder
## 1          24        4.8  Young
## 4          NA         NA  Young
newdata2
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
##   total_score mean_score agecat
## 2          20        4.0  Young
## 3          20        4.0  Young
## 5           8        1.6  Elder
## 4          NA         NA  Young
## 1          24        4.8  Young

注意注意,方括号里面有一个逗号不能少!!这表示其他列会随之而动

3.8 数据集的合并

3.8.1 直接横向合并,合并变量(要求行数相同)

语法(A,B是数据集的名字):

total <- cbind(A,B)

3.8.2 直接纵向合并,合并观测值(要求变量数量和排序相同)

语法(A,B是数据集的名字):

total <- rbind(A,B)

3.8.3 内联结横向合并(最常见的就是根据ID一一对应着合并)

语法:

total <- merge(dataframeA,dataframeB,by="ID")
total <- merge(dataframeA,dataframeB,by=c("ID","country"))

一般用于在数据框中添加变量。

3.9 选取变量

3.9.1 dataframe[,column indices]

只设置列下标,不设置行下标例如:

newdata <- leadership[,c(6:10)]
newdata
##   item1 item2 item3 item4 item5
## 1     5     4     5     5     5
## 2     3     5     2     5     5
## 3     3     5     5     5     2
## 4     3     3     4    NA    NA
## 5     2     2     1     2     1

3.9.2 直接手动选择变量名

比较适用于变量特别多,不清楚具体是第几列的:

vars <- c("item1","item2","item3","item4")
newdata <- leadership[,vars]
newdata
##   item1 item2 item3 item4
## 1     5     4     5     5
## 2     3     5     2     5
## 3     3     5     5     5
## 4     3     3     4    NA
## 5     2     2     1     2

3.10 选取观测值

3.10.1 dataframe[row indices,]

只设置行下标,不设置列下标例如:

newdata <- leadership[1:3,]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
##   total_score mean_score agecat
## 1          24        4.8  Young
## 2          20        4.0  Young
## 3          20        4.0  Young

3.10.2 手动设置条件观测值

newdata <- leadership[leadership$gender=="M"&leadership$age>30,]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
##   total_score mean_score agecat
## 1          24        4.8  Young
## 4          NA         NA  Young

3.11 subset()函数选择观测值或变量

该方法非常简便:

newdata <- subset(leadership,age>=35|age<23,select=c(item1,item2,item3,item4))
newdata
##   item1 item2 item3 item4
## 2     3     5     2     5
## 4     3     3     4    NA

代码含义:选择年龄在35以上或(|)23岁以下的所有观测值(对观测值选取), 并保留变量item1,item2,item3,item4.

select=则是对变量的选取。

3.12 剔除变量

3.12.1 方法一

myvars <- names(leadership)%in%c("item1","item2")
newdata <- leadership[!myvars]
newdata
##   manager   testDate country gender age item3 item4 item5 total_score
## 1       1 0008-10-24      US      M  32     5     5     5          24
## 2       2 0008-10-28      US      F  45     2     5     5          20
## 3       3 0008-10-01      UK      F  25     5     5     2          20
## 4       4 0008-10-12      UK      M  39     4    NA    NA          NA
## 5       5 0009-05-01      UK      F  NA     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder

3.12.2 方法二

先用names()函数将数据集的变量展示出来,知道需要删除变量对应的位置(序号),在需要剔除变量序号前加一个减号即可。

names(leadership)
##  [1] "manager"     "testDate"    "country"     "gender"      "age"        
##  [6] "item1"       "item2"       "item3"       "item4"       "item5"      
## [11] "total_score" "mean_score"  "agecat"
newdata <- leadership[c(-2,-3)]
newdata
##   manager gender age item1 item2 item3 item4 item5 total_score mean_score
## 1       1      M  32     5     4     5     5     5          24        4.8
## 2       2      F  45     3     5     2     5     5          20        4.0
## 3       3      F  25     3     5     5     5     2          20        4.0
## 4       4      M  39     3     3     4    NA    NA          NA         NA
## 5       5      F  NA     2     2     1     2     1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

3.13 dplyr包

3.13.1 安装并加载

install.packages("dplyr")
library(dplyr)
## 
## 载入程辑包:'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

用于操作数据框的dplyr函数

函数用途
select()选择变量/列
filter()选择观测值/行
mutate()转换或重编码变量,添加变量
rename()重命名变量/列
recode()重编码变量值
arrange()按变量值对行进行排序(升序)
desc()按变量值对行进行排序(倒序)
leadership <- data.frame(manager=c(1,2,3,4,5),date=c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09"),country=c("US","US","UK","UK","UK"),gender=c("M","F","F","M","F"),age=c(32,45,25,39,99),q1=c(5,3,3,3,2),q2=c(4,5,5,3,2),q3=c(5,2,5,4,1),q4=c(5,5,5,NA,2),q5=c(5,5,2,NA,1))
leadership
##   manager     date country gender age q1 q2 q3 q4 q5
## 1       1 10/24/08      US      M  32  5  4  5  5  5
## 2       2 10/28/08      US      F  45  3  5  2  5  5
## 3       3  10/1/08      UK      F  25  3  5  5  5  2
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1
library(dplyr)
leadership <- mutate(leadership,total_score=q1+q2+q3+q4+q5,mean_score=total_score/5)
leadership$gender <- recode(leadership$gender,"M"="male","F"="female")
leadership <- rename(leadership,ID="manager",sex="gender")
leadership <- arrange(leadership,sex,mean_score)
leadership_rating <- select(leadership,ID,mean_score)
leadership_men_high <- filter(leadership,sex=="male"&total_score>10)
leadership
##   ID     date country    sex age q1 q2 q3 q4 q5 total_score mean_score
## 1  5   5/1/09      UK female  99  2  2  1  2  1           8        1.6
## 2  2 10/28/08      US female  45  3  5  2  5  5          20        4.0
## 3  3  10/1/08      UK female  25  3  5  5  5  2          20        4.0
## 4  1 10/24/08      US   male  32  5  4  5  5  5          24        4.8
## 5  4 10/12/08      UK   male  39  3  3  4 NA NA          NA         NA
vector <- recode(vector,oldvalue1=newvalue1,oldvalue2=newvalue2,...)
dataframe <- rename(dataframe,newname1="oldname1",newname2="oldname2",...)
dataframe_subset <- select(dataframe,variablelist1variablelist2,...)
dataframe <- arrange(dataframe,variblelist1,variblelist2,...)
dataframe <- desc(dataframe,variblelist1,variblelist2,...)
dataframe <- filter(dataframe,expression)

注:

recode:对于数值型,用反引号``来引用原始值,字符型用”“,未指定新值的向量值保持不变

rename:新名字在前,旧名字在后

select:选取变量,可以用:来选取一系列的变量,在变量前加一个减号(-)则剔除该变量

arrange:默认升序排序

desc:倒序排序

3.14 使用管道操作符对语句进行串接

使用magrittr包提供的管道运算符%>%

data <- filter(leadership,total_score>10)
data <- select(ID,country,mean_score)
data <- arrange(country,mean_score)

这3条语句可以用%>%重新写为一条语句:

data <- filter(leadership,total_score>10)%>%select(ID,country,mean_score)%>%arrange(country,mean_score)

完整教程请查看

R语言基础学习手册

http://www.dtcms.com/wzjs/393815.html

相关文章:

  • 做视频网站 视频放在哪里百度免费资源网站
  • 标准营销型网站定做价格免费b站在线观看人数在哪里找到
  • 济南网站建设需要多少钱百度排行榜风云榜小说
  • 用阿里云搭建WordPress深圳推广优化公司
  • 家乡网站建设策划书日本比分预测
  • 深圳市外贸网站东莞seo建站优化工具
  • 网站建设与管理ppt课件百度云盘如何优化seo
  • 404页面模板谷歌外贸seo
  • 深圳网络推广收费标准短视频seo营销
  • 东盟建设投资有限公司网站seo网络推广培训班
  • 番禺网站建设番禺网络营销今日新闻事件
  • 禹州做网站bz3399西安百度竞价代运营
  • 桐乡住房和城乡规划建设局网站百度推广效果怎么样
  • 专业中山建网站公司百度广告一天多少钱
  • 企业网站设计需要了解郑州网站设计有哪些
  • 网站模板集合汕头自动seo
  • app制作永久免费惠州seo关键词
  • wordpress投稿者发附件张家界百度seo
  • 日照房产建设信息网站做网络推广工作怎么样
  • 家庭宽带用443端口做网站xp优化大师
  • 国外优秀门户网站他达拉非
  • 外贸网站外链怎么做seo排名优化排行
  • 广州交易网站建设今日最新重大新闻
  • 住房城乡建设网站一键优化免费下载
  • 免费网站源码下载平台百度怎样发布信息
  • 广东省建设厅信息网名风seo软件
  • php做网站 价格百度快速收录3元一条
  • 邢台网站制作怎么样百度q3财报减亏170亿
  • 网页设计与制作作业成品免费seo优化网站推广专员招聘
  • 衡阳做网站ss0734互联网营销推广怎么做