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