R语言的基础函数操作

1.变量变换
        as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x),...转换变量类型;使用如下命令可得到全部列表,methods(as)
        factor():将一个向量转化为一个因子
2.变量信息
        is.na(x),is.null(x),is.array(x),is.data.frame(x),is.numeric(x),is.complex(x),is.character (x),...检验变量的类型;使用如下命令得到全部列表,methods(is)
        length(x):x中元素的个数
        dim(x):查看变量的维数;重新设置的维数,例如dim(x)=c(3,2)
        dimnames(x):重新设置对象的名称
        nrow(x):行的个数
        ncol(x):列的个数
        class(x):得到或设置x的类;class(x)<-c(3,2)
        unclass(x):删除x的类
        attr(x,which):得到或设置x的属性which
        attributes(obj):得到或设置obj的属性列表
        fix,edit:对数据框数据进行表格形式的编辑
3.数据选取和操作
        which.max(x):返回x中最大元素的指标
        which.min(x):返回x中最小元素的指标
        rev(x):翻转x中所有的元素
        sort(x):升序排列x中的元素;降序排列使用:rev(sort(x))
        cut(x,breaks):将x分割成为几段(或因子);breaks为段数或分割点向量
        match(x,y):返回一个和x长度相同且和y中元素相等的向量不等则返回NA
        which(x==a):如果比较操作为真(TRUE),返回向量x的指针
        choose(n,k):组合数的计算
        na.omit(x):去除缺失值(NA)(去除相关行如果x为矩阵或数据框)
        na.fail(x):返回错误信息,如果x包含至少一个NA
        unique(x):如果x为向量或数据框,返回唯一值
        table(x):返回一个由x不同值个数组成的表格(通常用于整数或因子),即频数表
        subset(x,...):根据条件(...选取x中元素,如x$V1<10);如果x为数据框,选项select使用负号给出保留 或去除的变量 subset(x, subset, select, drop = FALSE, ...)
        sample(x,size):不放回的随即在向量x中抽取size个元素,选项replace=TRUE允许放回抽取
        prop.table(x,margin=):根据margin使用分数表示表格,wumargin时,所有元素和为1
* R数据的创建与索引
** 向量的操作
*** 向量的创建
**** c(...)
为concatenate的缩写;
常见的将一系列参数转化为向量的函数,通过recursive=TRUE降序排列列表并组合所有的元素为向量
*** from:to产生一个序列
":"有较高的优先级;1:4+1得到"2,3,4,5"
*** seq() 产生一个向量序列
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),length.out = NULL, along.with = NULL, ...)
        其中length.out可简写为len。
*** rep() 重复一个对象
        rep(x,times):x是要重复的对象(例如向量c(1,2,3)),times为对象中每个元素重复的次数(如times=c(9,7,3)就是将x向量的1重复9次,2重复7次,3重复3次)。
        除了上述主要的用法之外,还有一种特殊的用法:rep(x,times)重复x times次;使用each=来重复x元素each次;rep(c(1,2,3),2)得到1 2 3 1 2 3;rep(c(1,2,3),each=2)得到1 1 2 2 3 3。
*** 利用向量的索引实现定义分段函数
        利用改变部分元素值的技术与逻辑值下标结合,可以定义向量的分段函数,例如,要定义
         
可以用如下的语句去实现:
> x = c(-2.3,4,-5,7);
> y = numeric(length(x));
> y[x<0] = 1 - x[x<0];
> y[x>0] = 1 - x[x>0];
> y
[1] 3.3 -3.0 6.0 -6.0
4.数组(包含矩阵、向量)创建
c(...)
常见的将一系列参数转化为向量的函数,通过recursive=TRUE降序排列列表并组合所有的元素为向量
from:to产生一个序列
":"有较高的优先级;1:4+1得到"2,3,4,5"
seq() 产生一个向量序列
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),length.out = NULL, along.with = NULL, ...)
        其中length.out可简写为len。
rep() 重复一个对象
        rep(x,times):x是要重复的对象(例如向量c(1,2,3)),times为对象中每个元素重复的次数(如times=c(9,7,3)就是将x向量的1重复9次,2重复7次,3重复3次)。
        除了上述主要的用法之外,还有一种特殊的用法:rep(x,times)重复x times次;使用each=来重复x元素each次;rep(c(1,2,3),2)得到1 2 3 1 2 3;rep(c(1,2,3),each=2)得到1 1 2 2 3 3。
matrix(...)
创立矩阵 matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)
array(x,dim=...)
产生由x组成的数组;使用类似dim=c(3,4,2)指定维数;如果x长度不够,则x自动循环
data.frame(...)
创建数据框,变量可能被命名或未被命名
data.frame(v=1:4,ch=c("a","b","c","d"),n=10);
相对短的向量会被填充到最大向量长度。
注意数据框中各个属性的元素个数必须相同
list(...)
创建一个由变量组成的列表,变量可能被命名;
list(a=c(1,2),b="hi",c=3i)
factor(x,levels=) 把向量x编码称为因子
factor(x = character(), levels, labels = levels,exclude = NA, ordered = is.ordered(x))
gl() 产生因子变量
gl(n,k,lenth=n*k,labels=)
通过指定水平方式产生水平因子;k为水平的个数,n为重复的次数
rbind() cbind()
        rbind(...)以行的形式组合矩阵,数据框,或其它
        cbind(...)以列的方式组合,其他同rbind()
数据切割和分离
        向量指标
                x[n]:第n个元素
                x[-n]:除了第n个元素的x
                x[1:n]:前n个元素
                x[-(1:n)]:第n+1至最后的元素
                x[c(1,4,2)]:指定元素
                x["name"]:名为"name"的元素
                x[x>3]:所有大于3的元素
                x[x>3 & x<5]:区间(3,5)的元素
                x[x%in%c("a","and","the")]:给定组中的元素
        列表指标
                x[n]:列表显示元素n
                x[n]:列表的第n个元素
                x["name"]:名为"name"的元素
                x$name :同上
        矩阵指标
                x[i,j]:下表为(i,j)的元素
                x[i,]:第i行
                x[,j]:第j列
                x[,c(1,3)]:第1和3列
                x["name",]:名为"name"的行
                x$name :同上
        数据框指标
                x["name"]:列明为"name"的列
                x$name :同上




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值