列出数据框中每列的唯一值

时间:2016-08-15 18:51:37

标签: r matrix dataframe

假设您有一个非常大的“csv”格式的输入文件。并且您想知道每列中出现的不同值。你会怎么做?

离。

column1    column2    column3    column4
----------------------------------------
value11    value12    value13    value14
value21    value22    value23    value24
...
valueN1    valueN2    valueN3    valueN4

所以我希望我的输出类似于:

column1 has these values: value11, value21, ...valueN1。但我不需要看到相同值的重现。我需要这个只是为了了解我的数据是什么。

2 个答案:

答案 0 :(得分:4)

dat文件中读取后,csv成为您的数据框,您可以

ulst <- lapply(dat, unique)

如果您还想知道每列的唯一值数量,请执行

k <- lengths(ulst)

答案 1 :(得分:0)

我发现describe()包中的Hmisc函数非常方便,可以大致了解数据集,例如

Hmisc::describe(chickwts)
chickwts 

 2  Variables      71  Observations
----------------------------------------------------------------------------------------------------------------
weight 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90 
      71        0       66        1    261.3    90.26    140.5    153.0    204.5    258.0    323.5    359.0 
     .95 
   385.0 

lowest : 108 124 136 140 141, highest: 380 390 392 404 423
----------------------------------------------------------------------------------------------------------------
feed 
       n  missing distinct 
      71        0        6 

Value         casein horsebean   linseed  meatmeal   soybean sunflower
Frequency         12        10        12        11        14        12
Proportion     0.169     0.141     0.169     0.155     0.197     0.169
----------------------------------------------------------------------------------------------------------------