如何利用R语言计数

Python028

如何利用R语言计数,第1张

其基本思想就是把百分数按照字符处理,首先将“%”与数字分离,然后再将数除以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

R语言常用数学函数

sum()、max()、min()、mean()、median()

prod(x) 对x中的元素都连乘

which.max(x) 返回x中最大元素的下标

which.min(x) 返回x中最小元素的下标

range(x) 值域

rev(x) 对x中的元素取逆序

sort(x) 将x中的元素将升序排列

pmin(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最小值

pmax(x,y) 返回一个向量,它的第i个元素是x[i],y[i] 中最大值

cumsum(x) 求累积和,返回一个向量,第i个元素等于x[1]到x[i]的和

cumprod(x) 求累积(从左到右)乘积

cummin(x) 求累积最小值(从左到右)

cummax(x) 求累积最大值(从左到右)

match(x,y) 返回一个和x的长度相同的向量,第i个元素表示y中与x[i]相同的元素的位置(没有则返回NA)

na.omit(x) 函数忽略有缺失值(NA)的观察数据(如果x是矩阵或数据框则忽略相应的行)

na.fail(x) 如果x包含至少一个NA则返回一个错误消息

which() 返回符合条件的元素的下标

choose 组合数,二项式,例choose(4,2) 返回6

rep(x,y) 将x重复y次

unique(x) 去掉重复的元素,只取一个

table(x) 返回一个列表,给出y中重复元素的个数列表

subset(x,条件) 返回x中满足特定条件的子集