R:在数据框中定义因子的级别

托梅克

假设您有一个data.frame具有多个因素的因素,这些因素具有不同级别的数量:

V1<-factor(sample(c(1:5,9),100,TRUE))
V2<-factor(sample(c(1:5,9),100,TRUE))
V3<-factor(sample(c(1:5),100,TRUE))
V4<-factor(sample(c(1:5),100,TRUE))
dat<-data.frame(V1,V2,V3,V4)

目的是估计两个因素在电平频率上的差异。但是,由于级别数不同,基于V1 / V2和V3 / V4的两个表中的数组不一致,例如:

table(dat$V1)-table(dat$V3)
Error in table(dat$V1) - table(dat$V3) : non-conformable arrays

目的是使V3和V4兼容,以便该操作有效。一种选择是:

dat$V3<-factor(dat$V3,levels=c('1','2','3','4','5','9')

但是,这需要为每个变量设置因子水平,这对于许多变量V5,...,Vn来说是不切实际的。我想

dat[,3:4]<-apply(dat[,3:4],2,factor,levels=c('1','2','3','4','5','9'))

可能以更笼统的方式工作,但is.factor(dat$V3)那时为假。

编辑:此功能可能会完成SimonO101的答案:

correct_factors<-function(df_object,range){

  if(is.data.frame(df_object)==FALSE){stop('Requires data.frame object')}
  levs <- unique( unlist( lapply( df_object[,range[1]:range[2]] , levels ) ) )
  df_object[,range[1]:range[2]] <- 
     data.frame( lapply( df_object[,range[1]:range[2]] , factor , levels = levs ) )
  return(df_object)      

}
西蒙·奥汉隆

试试这个来协调水平...

#  Get vector of all levels that appear in the data.frame
levs <- unique( unlist( lapply( dat , levels ) ) )

#  Set these as the levels for each column    
dat2 <- data.frame( lapply( dat , factor , levels = levs ) )

table(dat2$V1)-table(dat2$V3)
#  1   2   3   4   5   9 
#-15  -5   4   7  -5  14 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据框中的因子级别上应用自定义函数

来自分类Dev

在数据框中重新排序因子名称的级别

来自分类Dev

在R中定义数据框列的级别

来自分类Dev

如何将因子级别设置为它们在数据框中显示的顺序?

来自分类Dev

数据框列中的组合因子级别

来自分类Dev

R上的传单:如何为数据框中的每个因子级别创建图层和颜色

来自分类Dev

如何从过滤的数据框“内存”中删除因子级别

来自分类Dev

按因子变量在数据框中的Colmeans

来自分类Dev

在数据框中按因子拆分列

来自分类Dev

在数据框的多个列中折叠相似的因子

来自分类Dev

R:根据列表在数据框中设置变量类型和级别

来自分类Dev

从 R 中的数据框创建因子矩阵

来自分类Dev

在R中设置数据帧的行时的无效因子级别

来自分类Dev

R因子变量的堆栈级别到数据帧中

来自分类Dev

在R中设置数据帧的行时的无效因子级别

来自分类Dev

按数据框中因子列的级别计算字符列中的元素数

来自分类Dev

R在数据框中定义简单的数学运算符

来自分类Dev

过滤/子集R中数据框中的所有因子

来自分类Dev

在数据框中定义一个分位数组,在R中另一个数据框中定义数据源

来自分类Dev

R在数据框列上应用用户定义功能

来自分类Dev

R在数据框列上应用用户定义功能

来自分类Dev

在数据框中添加新因子以替换另一个因子后,字母顺序无法正常工作

来自分类Dev

R 删除按因子分组的数据框中的异常值

来自分类Dev

在数据框中创建满足两个因子条件的向量

来自分类Dev

如何在数据框列中查找因子向量元素的实例

来自分类Dev

输出数据框中所有因子的级别数

来自分类Dev

更改因子级别并重新排列数据框

来自分类Dev

使用“级别”语句跨越数据框的多个列的崩溃因子

来自分类Dev

R-在数据框中显示数据

Related 相关文章

  1. 1

    在数据框中的因子级别上应用自定义函数

  2. 2

    在数据框中重新排序因子名称的级别

  3. 3

    在R中定义数据框列的级别

  4. 4

    如何将因子级别设置为它们在数据框中显示的顺序?

  5. 5

    数据框列中的组合因子级别

  6. 6

    R上的传单:如何为数据框中的每个因子级别创建图层和颜色

  7. 7

    如何从过滤的数据框“内存”中删除因子级别

  8. 8

    按因子变量在数据框中的Colmeans

  9. 9

    在数据框中按因子拆分列

  10. 10

    在数据框的多个列中折叠相似的因子

  11. 11

    R:根据列表在数据框中设置变量类型和级别

  12. 12

    从 R 中的数据框创建因子矩阵

  13. 13

    在R中设置数据帧的行时的无效因子级别

  14. 14

    R因子变量的堆栈级别到数据帧中

  15. 15

    在R中设置数据帧的行时的无效因子级别

  16. 16

    按数据框中因子列的级别计算字符列中的元素数

  17. 17

    R在数据框中定义简单的数学运算符

  18. 18

    过滤/子集R中数据框中的所有因子

  19. 19

    在数据框中定义一个分位数组,在R中另一个数据框中定义数据源

  20. 20

    R在数据框列上应用用户定义功能

  21. 21

    R在数据框列上应用用户定义功能

  22. 22

    在数据框中添加新因子以替换另一个因子后,字母顺序无法正常工作

  23. 23

    R 删除按因子分组的数据框中的异常值

  24. 24

    在数据框中创建满足两个因子条件的向量

  25. 25

    如何在数据框列中查找因子向量元素的实例

  26. 26

    输出数据框中所有因子的级别数

  27. 27

    更改因子级别并重新排列数据框

  28. 28

    使用“级别”语句跨越数据框的多个列的崩溃因子

  29. 29

    R-在数据框中显示数据

热门标签

归档