怎么用R软件算上、下四分位数(lower and upper quartiles)

Python012

怎么用R软件算上、下四分位数(lower and upper quartiles),第1张

1、以R中的基础数据包iris。#数据集data<-irishead(data)x<-iris$Specieshead(x)y<-iris$Sepal.Lengthhead(y)。

2、R中的经验分布函数ecdf即可实现经验分布函数的计算。但是ecdf表示的是一个函数,对其应用后才出现函数值。

3、对于联系变量可以看到计算出的四分位数。对于分类变量,可以类别数及累计概率。

4、经验分布图可以用函数plot.ecdf,y也可以直接用plot函数。

5、最后设置图形参数,将经验分布函数图画的更美观。

quantile函数可以求分位数,例如默认情况下可以求出四分位数:

quantile(x <- rnorm(1001))

也可以指定某个分位数:

quantile(rnorm(1001), probs = c(0.25,0.75))

其基本思想就是把百分数按照字符处理,首先将“%”与数字分离,然后再将数除以100,就可以化成小数了。下面两种方法的区别一个是将%替换成空格,一个是提取除百分号的数字。

>testdata<-data.frame(v1=c("78%", "65%", "32%"), v2=c("43%", "56%", "23%"))

>testnewdata1<-data.frame(lapply(testdata, function(x) as.numeric(sub("%", "", x))/100) )

>testnewdata1

v1 v2

1 0.78 0.43

2 0.65 0.56

3 0.32 0.23

>library(stringr)

>testnewdata2<-data.frame(lapply(testdata, function(x) as.numeric(str_extract(x,'[0-9.]+'))/100) )

>testnewdata2

v1 v2

1 0.78 0.43

2 0.65 0.56

3 0.32 0.23

替换百分号的思想还可以用下面的代码实现

>testnewdata3<-data.frame(lapply(testdata, function(x) as.numeric(gsub("\\%", "", x))/100))

>testnewdata3

v1 v2

1 0.78 0.43

2 0.65 0.56

3 0.32 0.23