uniquecombs
位于 mgcv
包(package)。 说明
此例程返回一个矩阵或数据帧,其中包含作为其参数提供的矩阵或数据帧的所有唯一行。也就是说,所有重复的行都被删除。请注意,退出时的行顺序不必与进入时的顺序相同。它还返回一个索引属性,用于将结果与原始矩阵相关联。
用法
uniquecombs(x,ordered=FALSE)
参数
x |
是一个R矩阵(数字)或 DataFrame 。 |
ordered |
设置为 |
细节
参数多于协变量的唯一组合的模型是不可识别的。此例程提供了一种评估模型中协变量的独特组合数量的方法。
当x
只有一列时,例程使用unique
和match
来获取索引。当有多列时,它使用 paste0
为每行生成标签,如果行是唯一的,则标签应该是唯一的。然后unique
和match
可以像单列情况一样使用。显然,粘贴效率低下,但对于较大的 n 来说,仍然比该例程过去调用的基于 C 的代码更快,后者的成本为 O(nlog(n))。原则上,C 语言中基于哈希表的解决方案仅为 O(n),并且在多列情况下速度更快。
如果不需要完整索引,可以使用 unique
和 duplicated
来代替它。相对性能是可变的。
如果x
在输入时不是矩阵或数据帧,则尝试将其强制为数据帧。
值
由 x
的唯一行(按任意顺序)组成的矩阵或 DataFrame 。
矩阵或 DataFrame 具有"index"
属性。 index[i]
给出返回矩阵中包含原始矩阵第 i 行的行。
警告
如果数据帧包含除数字、逻辑、因子或字符之外的类型的变量,这些变量或者没有 as.character
方法,或者其 as.character
方法是多对一映射,则例程可能会失败。
如果数据帧变量的字符表示(字符的类因子除外)包含*
,则原则上该方法可能会失败(但会出现警告)。
例子
require(mgcv)
## matrix example...
X <- matrix(c(1,2,3,1,2,3,4,5,6,1,3,2,4,5,6,1,1,1),6,3,byrow=TRUE)
print(X)
Xu <- uniquecombs(X);Xu
ind <- attr(Xu,"index")
## find the value for row 3 of the original from Xu
Xu[ind[3],];X[3,]
## same with fixed output ordering
Xu <- uniquecombs(X,TRUE);Xu
ind <- attr(Xu,"index")
## find the value for row 3 of the original from Xu
Xu[ind[3],];X[3,]
## data frame example...
df <- data.frame(f=factor(c("er",3,"b","er",3,3,1,2,"b")),
x=c(.5,1,1.4,.5,1,.6,4,3,1.7),
bb = c(rep(TRUE,5),rep(FALSE,4)),
fred = c("foo","a","b","foo","a","vf","er","r","g"),
stringsAsFactors=FALSE)
uniquecombs(df)
作者
Simon N. Wood simon.wood@r-project.org with thanks to Jonathan Rougier
也可以看看
相关用法
- R vcov.gam 从 GAM 拟合中提取参数(估计器)协方差矩阵
- R gam.check 拟合 gam 模型的一些诊断
- R null.space.dimension TPRS 未惩罚函数空间的基础
- R gam.reparam 寻找平方根惩罚的稳定正交重新参数化。
- R extract.lme.cov 从 lme 对象中提取数据协方差矩阵
- R scat 用于重尾数据的 GAM 缩放 t 系列
- R choldrop 删除并排名第一 Cholesky 因子更新
- R smooth.construct.cr.smooth.spec GAM 中的惩罚三次回归样条
- R bandchol 带对角矩阵的 Choleski 分解
- R gam.side GAM 的可识别性边条件
- R cox.ph 附加 Cox 比例风险模型
- R mgcv.parallel mgcv 中的并行计算。
- R gamm 广义加性混合模型
- R pdTens 实现张量积平滑的 pdMat 类的函数
- R Predict.matrix GAM 中平滑项的预测方法
- R Predict.matrix.soap.film 皂膜光滑度预测矩阵
- R smooth.construct.bs.smooth.spec GAM 中的惩罚 B 样条
- R gamlss.gH 计算回归系数的对数似然导数
- R plot.gam 默认 GAM 绘图
- R mvn 多元正态加性模型
- R gfam 分组家庭
- R smooth.construct GAM 中平滑项的构造函数
- R pcls 惩罚约束最小二乘拟合
- R gam.fit3 使用 GCV、UBRE/AIC 或 RE/ML 导数计算进行 P-IRLS GAM 估计
- R rTweedie 生成 Tweedie 随机偏差
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 find the unique rows in a matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。