Advertisement

r语言summary函数使用_R语言--操纵数据--重要函数的使用

阅读量:

1. lapplyeg:x=list(a=1:10,b=c(11,21,31,41,51))

lapply(x,mean) 或 sapply(x,mean)

lappy和sappy均用于计算向量x中的元素平均值;simplify function can consolidate the output from lappy into a sequence from x=1 to x=4.

lapply(x, runif) 表示该函数用于从均匀分布中生成多个数值,默认情况下会使用从0到1的均匀分布

该代码使用向量化函数runif从零到一百均匀分布中抽取若干数值,并将其赋值给变量x。
其中x由两个矩阵组成,
a矩阵是一个2行3列的整数序列生成矩阵,
b矩阵是一个2行2列的整数序列生成矩阵。

lapply(x,function(m) m[1,]) 此处m代表传入矩阵,函数运行的是矩阵的第一行

2.applyx=matrix(1:16,4,4)

apply(x,2,mean) 返回x中第二列的平均

apply(x,2,sum) 返回x中第二列的和

rowSums(x) 对每一行求和

rowMeans(x) 对每一行求平均

colSums(x) 对每一列求和

colMeans函数用于计算每列的平均值
生成一个由正态分布生成并包含10行及10列的数据矩阵

该函数用于在数组x上按行应用计算百分位数的操作,并通过probs参数指定计算结果仅为第[二十五]及第七[五]百分比数值。此术语代表一种衡量数据位置的方法,并通过设定prob参数来限定输出仅包含[二十五]分位及[七十五]分位的结果值。此外,在R语言环境中,默认情况下使用rnorm生成符合正态分布的数据样本集,并将其按照维度向量(c( ))组织存储于变量中。

apply(x,c(1,2),mean)

3.mapplylist(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) 第一个元素为4个1,第二个元素为3个2.........

该函数调用mapply函数,并以rep作为第一个参数(其中第一个参数是rep),以及以4:1作为第二个参数(其中第二个参数是4:1)。其作用等同于将数值序列中的每个元素按照指定的比例复制相应次数:即生成四个值均为1、三个值均为2、两个值均为3以及一个值为4的结果序列。定义一个名为s的函数如下:s接受三个输入n、mean和std,并通过rnorm生成n个服从均值为mean、标准差为std的正态分布随机数。

s(4,0,1)

mapply(s,1:5,5:1,2)

n代表从分布中抽取的数据的个数

mean和std分别代表随机分布的总体的均值和标准差

rnorm(n, mean, std - 表示是从遵循均值μ=mean、标准差σ=std的正态分布中抽取n个数据)

s(4,0,1) 代表是从均值为0方差为1的正态分布中抽取4个数据

mapply(s,1:5,5:1,2) 应用s函数,返回的结果是一个列表

第一个元素是从均值为5,方差为2的正态分布中抽取的1个数据

第一个元素是从均值为4,方差为2的正态分布中抽取的2个数据

第一个元素是从均值为3,方差为2的正态分布中抽取的3个数据...........(一一对应)

即 mapply(s,...) 的输出结果与 list(...) 的输出一致。这表明通过 mapply 可以使表达式更加简洁。

x由三部分组成:前五个元素遵循N(0,1)分布;中间五个元素遵循U(a,b)分布;最后五个元素遵循N(μ,σ²)分布,并设其均值μ=1和方差σ²=0

f=gl(3,5) 生成因子依赖于gl函数。其中第一个参数代表该因子共有3个水平;第二个参数代表每个水平包含5个元素。

tapply(x,f,mean) 对x这个向量按照g的水平进行分组,并对每组求均值

tapply(x,f,mean,simplify=FALSE) 得到的是一个未经化简的列表

5.splitx=c(rnorm(5),runif(5),rnorm(5,1))

f=gl(3,5)

split(x,f) 会生成三个层级的数据集:层级1包含前五个元素(corresponding to level 1),层级2包含中间五个元素(level 2),层级3包含最后五个元素(level 3)。

该函数计算分组后的每个水平对应的五个元素的平均值。
该操作将数据按月份分割,并返回各月份数据。
该函数生成一个表格统计每个月份出现的次数。
使用head()获取数据框前几行记录。

lapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")]))

对s执行function(x),计算得到关于每个月ozone、wind、temp的均值;使用colMeans函数来计算列均值。

sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")])) sapply可将结果简化

sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm = TRUE))

有了na.rm则可将ozone、wind、temp中的缺失值去除掉,然后计算列均值

6.排序x=data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1))

sort(x$v2) 可对x中的v2列进行升序排列

sort(x$v2,decreasing = TRUE) 可对x中的v2列进行降序排列

the order function applied to x$v2 can be used to sort the v2 column in x in ascending order, but it does not return the original content instead returns the row indices corresponding to

x[order(x$v2),] 按照v2列升序的行号的排列对整个数据框进行排列

x[order(xv4,xv2),] 先按照v4进行升序排列,之后再按照v2进行升序排列

随后基于变量v2再次执行相同的操作

7.总结数据信息head(airquality,10) 查看airquality的前十行,默认是前六行

tail(airquality,8) 查看airquality的后八行,默认是后六行

summary(airquality)分别显示air quality数据集各列的基本统计信息包括最小分位数中间值均值最大分位数以及数据完整性情况

使用str(airquality)命令以概述空气质量数据的基本信息如变量数量等。调用table(airquality$Ozone)函数以统计空气质量数据中'Ozone'这一项的具体数值及其出现频率(不考虑缺失值)。

table(airquality$Ozone,useNA='ifany') 还可以总结缺失值的个数

该函数会生成一个二维数据结构,用于计算某月某日观测数据的数量;同时使用逻辑运算符 any(is.na(airquality$Ozone)) 来判断观测值是否存在缺失。

sum(is.na(airquality$Ozone)) 计算缺失值的总数

检查空气质量数据中各个月份的数值是否均未超过十二月,并验证此条件是否满足。通过构建交互分类表,在分类变量Class与Age的基础上进行频数统计。

x=xtabs(Freq~Class+Age,data=Titanic)

ftable(x) 可以以更简洁明了的结构呈现结果,并与xtabs函数返回相同的结果。

object.size(airquality) 查看airquality的大小(字节)

8总结

全部评论 (0)

还没有任何评论哟~