R语言常用函数(基本)

Python012

R语言常用函数(基本),第1张

vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据

c:连接为向量或列表 sequence:等差序列 rep:重复

length:求长度 subset:求子集 seq,from:to, NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性

mode,typeof:对象存储模式与类型 names:对象的名字属性

character:字符型向量 nchar:字符数 substr:取子串 format,formatC:把对象用格式转换为字符串 paste,strsplit:连接或拆分

charmatch,pmatch:字符串匹配 grep,sub,gsub:模式匹配与替换

complex,Re,Im,Mod,Arg,Conj:复数函数

factor:因子 codes:因子的编码 levels:因子的各水平的名字 nlevels:因子的水平个数 cut:把数值型对象分区间转换为因子

table:交叉频数表 split:按因子分组 aggregate:计算各数据子集的概括统计量 tapply:对“不规则”数组应用函数

+, -, *, /, ^, %%, %/%:四则运算 ceiling,floor,round,signif,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值

range:最大值和最小值 sum,prod:向量元素和,积 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符号函数

abs,sqrt:绝对值,平方根 log, exp, log10, log2:对数与指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数

sinh,cosh,tanh,asinh,acosh,atanh:双曲函数

beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:与贝塔函数、伽玛函数、组合数有关的特殊函数

fft,mvfft,convolve:富利叶变换及卷积 polyroot:多项式求根 poly:正交多项式 spline,splinefun:样条差值

besselI,besselK,besselJ,besselY,gammaCody:Bessel函数 deriv:简单表达式的符号微分或算法微分

array:建立数组 matrix:生成矩阵 data.matrix:把数据框转换为数值型矩阵 lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵转置

cbind:把列合并为矩阵 rbind:把行合并为矩阵 diag:矩阵对角元素向量或生成对角矩阵 aperm:数组转置 nrow, ncol:计算数组的行数和列数 dim:对象的维向量

dimnames:对象的维名 row/colnames:行名或列名 %*%:矩阵乘法 crossprod:矩阵交叉乘积(内积) outer:数组外积 kronecker:数组的Kronecker积

apply:对数组的某些维应用函数 tapply:对“不规则”数组应用函数 sweep:计算数组的概括统计量 aggregate:计算数据子集的概括统计量 scale:矩阵标准化

matplot:对矩阵各列绘图 cor:相关阵或协差阵 Contrast:对照矩阵 row:矩阵的行下标集 col:求列下标集

solve:解线性方程组或求逆 eigen:矩阵的特征值分解 svd:矩阵的奇异值分解 backsolve:解上三角或下三角方程组 chol:Choleski分解

qr:矩阵的QR分解 chol2inv:由Choleski分解求逆

<,>,<=,>=,==,!=:比较运算符 !,&,&&,|,||,xor():逻辑运算符 logical:生成逻辑向量 all,any:逻辑向量都为真或存在真

ifelse():二者择一 match,%in%:查找 unique:找出互不相同的元素 which:找到真值下标集合 duplicated:找到重复元素

optimize,uniroot,polyroot:一维优化与求根

if,else,ifelse,switch:分支 for,while,repeat,break,next:循环 apply,lapply,sapply,tapply,sweep:替代循环的函数。

function:函数定义 source:调用文件 call:函数调用 .C,.Fortran:调用C或者Fortran子程序的动态链接库。 Recall:递归调用

browser,debug,trace,traceback:程序调试 options:指定系统参数 missing:判断虚参是否有对应实参 nargs:参数个数 stop:终止函数执行

on.exit:指定退出时执行 eval,expression:表达式计算 system.time:表达式计算计时 invisible:使变量不显示 menu:选择菜单(字符列表菜单)

其它与函数有关的还有:delay,delete.response,deparse,do.call,dput,environment ,,formals,format.info,interactive,

is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent ,warning,machine

cat,print:显示对象 sink:输出转向到指定文件 dump,save,dput,write:输出对象 scan,read.table,load,dget:读入

ls,objects:显示对象列表 rm, remove:删除对象 q,quit:退出系统 .First,.Last:初始运行函数与退出运行函数。

options:系统选项 ?,help,help.start,apropos:帮助功能 data:列出数据集分析

每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数函数,r――随机数函数。

比如,正态分布的这四个函数为dnorm,pnorm,qnorm,rnorm。下面我们列出各分布后缀,前面加前缀d、p、q或r就构成函数名:

norm:正态,t:t分布,f:F分布,chisq:卡方(包括非中心) unif:均匀,exp:指数,weibull:威布尔,gamma:伽玛,beta:贝塔

lnorm:对数正态,logis:逻辑分布,cauchy:柯西, binom:二项分布,geom:几何分布,hyper:超几何,nbinom:负二项,pois:泊松 signrank:符号秩,

wilcox:秩和,tukey:学生化极差

sum, mean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。

R中已实现的有chisq.test,prop.test,t.test。

cor,cov.wt,var:协方差阵及相关阵计算 biplot,biplot.princomp:多元数据biplot图 cancor:典则相关 princomp:主成分分析 hclust:谱系聚类

kmeans:k-均值聚类 cmdscale:经典多维标度 其它有dist,mahalanobis,cov.rob。

ts:时间序列对象 diff:计算差分 time:时间序列的采样时间 window:时间窗

lm,glm,aov:线性模型、广义线性模型、方差

convolve 这个函数应该是 输入的numpy.array,按照权值weight,

以(i,j)点的邻域 行列式(i:i+w,j+j+h)和行列式wight进行 行列式相乘 得到的结果为新的(i,j)

说白了就是权值的相加减的问题,梯度不剃度我就不知了额

给定一个数据集waitakere.txt,该数据集中含有大量的噪音数据。具体操作要求:1)该数据集的偶数位均为噪音数据,判断偶数位是否为0,若为0,利用1替换。2)对转换后的数据集进行排序,利用分箱技术来光滑数据。假设有10个桶,实现“用箱均值光滑”、 “用箱中位数光滑”、“用箱边界光滑”三种技术。

waitakere.txt:

这只是一部分数据,只是为了示例噪音数据

1 0 3 2 0 3

4 0 1 0 0 0

0 0 0 1 0 0

0 0 0 0 7 0

0 8 9 0 9 0

0 6 0 5 0 3

6 0 7 0 1 0

......

登录后复制

解题思路:首先读入数据到列表里,然后对数据进行排序,将数据划分到10个箱中。对于箱均值光滑,箱中每一个值都被替换为箱中的均值。对于箱中位数光滑,箱中每一个值都被替换为箱中的中位数。对于箱边界光滑,箱中每一个值都被替换为最近的边界值。

以下为python代码实现部分:

import numpy as np

def binning(filename,box_num):

my_list=[]

my_list1=[]

noise_data = open(filename)

for line in noise_data.readlines():

dataline=line.strip()

my_list.append(dataline)

for i in range(0,len(my_list)):

my_list[i]=int(my_list[i])

if (i+1) % 2==0 and my_list[i]==0:

my_list[i]=1

my_list1=sorted(my_list)

#print my_list1

box_list=[]

len_box=int(np.ceil(len(my_list1)/float(box_num)))

for i in range(0,10):

each_box=my_list1[i*len_box:(i+1)*len_box]

box_list.append(each_box)

return box_list

def box_mean_smooth(box_list):

for i in range(0,len(box_list)):

box_avg=int(np.average(box_list[i]))

for j in range(0,len(box_list[i])):

box_list[i][j]=box_avg

return box_list

def box_mid_smooth(box_list):

for i in range(0,len(box_list)):

box_mid=int(np.median(box_list[i]))

for j in range(0,len(box_list[i])):

box_list[i][j]=box_mid

return box_list

def box_boundary_smooth(box_list):

for i in range(0,len(box_list)):

left_bdy=box_list[i][0]

right_bdy=box_list[i][-1]

for j in range(0,len(box_list[i])):

if abs(box_list[i][j]-left_bdy)<abs(box_list[i][j]-right_bdy):

box_list[i][j]=left_bdy

else:

box_list[i][j]=right_bdy

return box_list

filename='waitakere.txt'

box_list=binning(filename,10)

print box_list

print box_mean_smooth(box_list)

print box_mid_smooth(box_list)

print box_boundary_smooth(box_list)

登录后复制

下图为实验结果截图:

由于数据较多,截图只是一部分

python

数据

银川旅游景点攻略,这个地方驴友必去之一!良心推荐

精选推荐

广告

python 等深分箱法(均值平滑技术、边界值平滑技术)

1.3W阅读·6评论·24点赞

2020年12月10日

数据挖掘概念与技术(第三版)课后答案——第三章

2.2W阅读·201评论·119点赞

2020年7月3日

python S-G (Savitzky–Golay filter) 平滑滤波和kalman滤波滤掉噪声实现实例,有可视化结果

357阅读·0评论·0点赞

2022年11月10日

R语言数据挖掘(2) 数据预处理

2292阅读·0评论·1点赞

2017年10月10日

数据认知与数据预处理--数据预处理

348阅读·0评论·0点赞

2022年6月23日

数据挖掘复习

815阅读·0评论·0点赞

2021年12月20日

美人鱼公主参加聚会装扮美人鱼游戏

精选推荐

广告

python 数据、曲线平滑处理

9904阅读·0评论·16点赞

2022年4月21日

数据挖掘如何分箱以及如何对每个箱子中的数据进行平滑处理

2.0W阅读·2评论·38点赞

2019年6月24日

数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第三章课后习题答案

2.6W阅读·13评论·21点赞

2017年5月21日

python 数据可视化 -- 真实数据的噪声平滑处理

2779阅读·0评论·2点赞

2019年2月11日

【6】python生成数据曲线平滑处理——(Savitzky-Golay 滤波器、convolve滑动平均滤波)方法介绍,推荐玩强化学习的小伙伴收藏

2612阅读·2评论·3点赞

2021年8月12日

数据挖掘理论与算法笔记

368阅读·0评论·0点赞

2021年6月10日

《数据挖掘概念与技术》学习笔记-第三章

3957阅读·0评论·6点赞

2020年2月14日

这个神奇的库,可以将数据平滑化并找到异常点

135阅读·0评论·0点赞

2022年6月9日

python数据平滑处理,numpy之数据平滑处理

3253阅读·0评论·0点赞

2021年4月27日

python 数据平滑_数据平滑方法的原理和应用

1394阅读·0评论·0点赞

2020年12月9日

python使曲线变得平滑_如何在Python中平滑数据?

3234阅读·0评论·1点赞

2020年12月4日

numpy模块的使用(二)

257阅读·0评论·2点赞

2020年10月3日

去首页

看看更多热门内容

评论1

扣尼奇哇

写得好