Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将NA计算为每个变量内的一个因子_R_Tidyverse - Fatal编程技术网

R 将NA计算为每个变量内的一个因子

R 将NA计算为每个变量内的一个因子,r,tidyverse,R,Tidyverse,我有按组计算值频率的代码(见下文) 感谢您的帮助 根据表包,一个选项是使用exclude=NULL library(tables) mtcars$cyl[4:7] <- NA mtcars$cyl <- factor(mtcars$cyl, exclude =NULL ) mtcars[varList] <- lapply(mtcars[varList], factor, exclude = NULL) @Len Greski我已经修改了你的答案…除了这些,还有其他的包吗f

我有按组计算值频率的代码(见下文)


感谢您的帮助

根据
包,一个选项是使用
exclude=NULL

library(tables)
mtcars$cyl[4:7] <- NA
mtcars$cyl <- factor(mtcars$cyl, exclude =NULL )
mtcars[varList] <- lapply(mtcars[varList], factor, exclude = NULL)

@Len Greski我已经修改了你的答案…除了这些,还有其他的包吗fakir@akrun没有,但我添加了一个mtcars的示例!有一个
表格
功能。是我的吗?谢谢!这不完全是我的意思。在我的数据中,cyl有完整的值,但hp、disp等缺少值。因此,我需要这些变量中每个NA的计数,将更新我的示例以清楚说明这一点。@NewBee在这种情况下,您需要
hp
disp
etc系数
exclude=NULL
library(tables)
mtcars$cyl[4:7] <- NA
mtcars$cyl <- factor(mtcars$cyl, exclude =NULL )
varList <- 2:4
lapply(varList,function(x,df,byVar){ 
          tabular((Factor(df[[x]],paste(colnames(df)[x])) + 1) ~ ((Factor(df[[byVar]],paste(byVar)))*((n=1) + Percent("col"))),
              data= df) 
   },mtcars,"cyl")
#[[1]]
                                                
#     cyl                                        
#     4           6         8          NA        
# cyl n   Percent n Percent n  Percent n  Percent
# 4   11  100     0   0      0   0     0    0    
# 6    0    0     5 100      0   0     0    0    
# 8    0    0     0   0     12 100     0    0    
# NA   0    0     0   0      0   0     4  100    
# All 11  100     5 100     12 100     4  100    

#[[2]]
                                                  
#       cyl                                        
#       4           6         8          NA        
# disp  n   Percent n Percent n  Percent n  Percent
# 71.1   1    9.091 0   0      0   0.000 0    0    
# 75.7   1    9.091 0   0      0   0.000 0    0    
# 78.7   1    9.091 0   0      0   0.000 0    0    
# 79     1    9.091 0   0      0   0.000 0    0    
# 95.1   1    9.091 0   0      0   0.000 0    0    
# 108    1    9.091 0   0      0   0.000 0    0    
# 120.1  1    9.091 0   0      0   0.000 0    0    
# 120.3  1    9.091 0   0      0   0.000 0    0    
# 121    1    9.091 0   0      0   0.000 0    0    
# 140.8  1    9.091 0   0      0   0.000 0    0    
# 145    0    0.000 1  20      0   0.000 0    0    
# 146.7  1    9.091 0   0      0   0.000 0    0    
# 160    0    0.000 2  40      0   0.000 0    0    
# 167.6  0    0.000 2  40      0   0.000 0    0    
# 225    0    0.000 0   0      0   0.000 1   25    
# 258    0    0.000 0   0      0   0.000 1   25    
# 275.8  0    0.000 0   0      3  25.000 0    0    
# 301    0    0.000 0   0      1   8.333 0    0    
# 304    0    0.000 0   0      1   8.333 0    0    
# 318    0    0.000 0   0      1   8.333 0    0    
# 350    0    0.000 0   0      1   8.333 0    0    
# 351    0    0.000 0   0      1   8.333 0    0    
# 360    0    0.000 0   0      0   0.000 2   50    
# 400    0    0.000 0   0      1   8.333 0    0    
# 440    0    0.000 0   0      1   8.333 0    0    
# 460    0    0.000 0   0      1   8.333 0    0    
# 472    0    0.000 0   0      1   8.333 0    0    
# All   11  100.000 5 100     12 100.000 4  100    

#[[3]]
                                                
#     cyl                                        
#     4           6         8          NA        
# hp  n   Percent n Percent n  Percent n  Percent
# 52   1    9.091 0   0      0   0.000 0    0    
# 62   1    9.091 0   0      0   0.000 0    0    
# 65   1    9.091 0   0      0   0.000 0    0    
# 66   2   18.182 0   0      0   0.000 0    0    
# 91   1    9.091 0   0      0   0.000 0    0    
# 93   1    9.091 0   0      0   0.000 0    0    
# 95   1    9.091 0   0      0   0.000 0    0    
# 97   1    9.091 0   0      0   0.000 0    0    
# 105  0    0.000 0   0      0   0.000 1   25    
# 109  1    9.091 0   0      0   0.000 0    0    
# 110  0    0.000 2  40      0   0.000 1   25    
# 113  1    9.091 0   0      0   0.000 0    0    
# 123  0    0.000 2  40      0   0.000 0    0    
# 150  0    0.000 0   0      2  16.667 0    0    
# 175  0    0.000 1  20      1   8.333 1   25    
# 180  0    0.000 0   0      3  25.000 0    0    
# 205  0    0.000 0   0      1   8.333 0    0    
# 215  0    0.000 0   0      1   8.333 0    0    
# 230  0    0.000 0   0      1   8.333 0    0    
# 245  0    0.000 0   0      1   8.333 1   25    
# 264  0    0.000 0   0      1   8.333 0    0    
# 335  0    0.000 0   0      1   8.333 0    0    
# All 11  100.000 5 100     12 100.000 4  100    
mtcars[varList] <- lapply(mtcars[varList], factor, exclude = NULL)