如何总结r中不同列的级别

如何总结r中不同列的级别,r,for-loop,apply,R,For Loop,Apply,我有一个表(df),其中分类变量是不同级别的因子 身份证 B_ID C_ID 有效号码 有效号码 无效号码 有效号码 有效号码 无效号码 无效号码 无效号码 太快了 太快了 太快了 太快了 有效号码 太久 太快了 太久 太久 有效号码 无效号码 有效号码 太久 太久 无效号码 太久 太短 太短 有效号码 太短 有效号码 太久 太久 无效号码 太久 有效号码 无效号码 有效号码 这是否有效: library(dplyr) library(tidyr) df %>% pivot_lon

我有一个表(df),其中分类变量是不同级别的因子

身份证 B_ID C_ID 有效号码 有效号码 无效号码 有效号码 有效号码 无效号码 无效号码 无效号码 太快了 太快了 太快了 太快了 有效号码 太久 太快了 太久 太久 有效号码 无效号码 有效号码 太久 太久 无效号码 太久 太短 太短 有效号码 太短 有效号码 太久 太久 无效号码 太久 有效号码 无效号码 有效号码 这是否有效:

library(dplyr)
library(tidyr)    
df %>% pivot_longer(cols = everything()) %>% count(name, value) %>% 
   pivot_wider(id_cols = name, names_from = value, values_from = n) %>% 
   select('Variable' = name, 'Count_valid' = `valid number`, 'Count_Invalid' = `invalid number`, 'Count_Short' = `too short`, 'Count_long' = `too long`)
# A tibble: 3 x 5
  Variable Count_valid Count_Invalid Count_Short Count_long
  <chr>          <int>         <int>       <int>      <int>
1 A_ID               4             2           3          3
2 B_ID               4             4           2          2
3 C_ID               3             2           3          4
库(dplyr)
图书馆(tidyr)
df%%>%pivot\u更长(cols=everything())%%>%count(名称、值)%%>%
透视图(id\u cols=name,name\u from=value,values\u from=n)%>%
选择('Variable'=name,'Count\u valid'=valid number`,'Count\u Invalid'=Invalid number`,'Count\u Short'=too Short`,'Count\u long'=too long`)
#一个tibble:3x5
变量计数\有效计数\无效计数\短计数\长计数
1 A_ID 4 2 3 3
2 B_ID 4 4 2 2
3 C_ID 3 2 3 4
使用的数据:

df
# A tibble: 12 x 3
   A_ID           B_ID           C_ID          
   <chr>          <chr>          <chr>         
 1 valid number   valid number   invalid number
 2 valid number   valid number   invalid number
 3 invalid number invalid number too short     
 4 too short      too short      too short     
 5 valid number   too long       too short     
 6 too long       too long       valid number  
 7 invalid number valid number   too long      
 8 too long       invalid number too long      
 9 too short      too short      valid number  
10 too short      valid number   too long      
11 too long       invalid number too long      
12 valid number   invalid number valid number  
df
#一个tibble:12x3
A_ID B_ID C_ID
1有效数字有效数字无效数字
2有效号码有效号码无效号码
3无效号码无效号码太短
4太短太短太短太短
5有效数字太长太短
6太长太长有效数字
7无效数字有效数字太长
8太长无效数字太长
9太短太短有效数字
10太短有效数字太长
11太长无效数字太长
12有效数字无效数字有效数字