查找数据集中数据最多的变量

时间:2019-01-02 13:31:49

标签: r

请给我一个技术问题。

STATION NOM LONGITUDE   LATITUDE    ALTITUDE    DATE    RR  DRR TM  DG  TNTXM   FFM DXI HNEIGEF NEIGETOT06
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/01  3.2     8.2     7.3         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/02  0       7.4     8           0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/03  0       6       6.6         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/04  0       3.5     5.8         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/05  2       -0.4        -0.4            1   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/06  35.4        4.1     3.5         0   1
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/07  10      5.7     5.8         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/08  17.4        6       5.9         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/09  24.6        5.3     5.3         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/10  0.2     5.3     8.4         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/11  0.2     1       3.3         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/12  0.2     4.8     6.1         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/13  1.4     3.7     3.6         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/14  1.8     5.3     5.7         0   0
34008001    LES AIRES(LA GARENE)    3`06'30"E   43`35'00"N  190 2006/01/15  39.2        5.2     5.5         0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/14  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/15  28                          0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/16  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/17  0.6                         0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/18  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/19  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/20  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/21  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/22  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/23  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/24  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/25  7.5                         0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/26  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/27  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/28  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/29  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/30  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/08/31  0                           0   0
34010001    ANIANE(GEND.)   3`34'54"E   43`40'54"N  65  2006/09/01  0                               
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/20  4       16.6    0   17.5    1.8 140     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/21  23.6        17  0   16.7    2.6 140     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/22  0       11.5    0   11.4    4.9 320     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/23  0.4     9.8 0   10.4    2.8 340     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/24  0.8     11.6    0   11.6    1.1 20      
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/25  0.2     14.6    0   15.6    2.8 340     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/26  0       14  0   14.8    2.7 340     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/27  5.4     13.3    0   14.3    1   180     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/28  2.6     9.8 0   10.1    3.8 340     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/29  0       6.8 0   7.1 5.4 340     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/30  1.8     4   0   3.8 1.2 260     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/10/31  0.8     10.9    0   9.2 3.1 120     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/01  11.8        14.9    0   15  4.9 100     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/02  36      13  0   13.2    5.3 100     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/03  0.2     10.3    0   11.3    2.5 120     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/04  27.8        10.2    0   10.3    1.7 320     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/05  13.6        9   0   9.1 1.3 300     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/06  0.4     9.3 0   9.4 1.3 320     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/07  0       10.2    0   11.1    1.4 360     
34028003    BEDARIEUX(AERODROME)    3`08'42"E   43`38'24"N  373 2008/11/08  0.4     10  0   12.1    1.2 120

我有天气数据。从变量“ RR”到“ NEIGETOT06”,它们是气象参数(9个变量)。问题是我的电台信息灵通,而其他人的信息灵通性差。对于某些电台,变量只有N'A。

我想知道哪个站的数据最多。我想找到一个函数,该函数可以告诉我哪些是填充变量最多的工作站,哪些是填充变量较少的工作站。例如,站1和2,有信息的6个变量(例如RR,DRR ...),站3-4,有信息的4个变量...您认为可以吗?

谢谢大家!

3 个答案:

答案 0 :(得分:0)

这是一个解决方案(基于类似的数据集,其中实际上缺少值):

rbindlist(lapply(unique(df$STATION), function(m) data.frame(STATION = m, NonNAValues = sum(!is.na(df[df$STATION == m, ])))))

它的作用:每个站点获取所有非NA值的数目(在所有列中)。

输出:

          STATION NonNAValues
 1:      34010001             448
 2:      34028003             392
 3:      34028007             975

答案 1 :(得分:0)

这是一个选项: 可能更适合于数字变量,而不适用于许多变量。

library(tidyverse)
iris %>% 
  mutate_if(is.factor,as.numeric) %>% 
map_dbl(~sum(.x)) %>% 
  sort(decreasing = T)

如果您只对数字变量感兴趣,那么:

iris %>% 
  select_if(is.numeric) %>% 
  map_dbl(~sum(.x))

查找缺失值?然后:

iris %>% 
  select_if(is.numeric) %>% 
  map_dbl(~sum(is.na(.x)))

干杯!

答案 2 :(得分:0)

谢谢大家

可能是这样的解决方案:

   #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
   #include <stdlib.h>
    void main()
    {
        FILE *fp1, *fp2;
        fp1 = fopen("text.txt", "w");
        printf("enter no of lines");
        int line;
        scanf("%d", &line);

        char txt[1000];
        for (int i=0; i < line; i++)
        {
            gets( txt);
            fprintf(fp1, "s", txt);

        }
        fclose(fp1);
        char txt2[1000];
        fp2 = fopen("text.txt", "r");
        while (1)
        {
            fgets(txt2, 1000, fp2);

            if (txt2 == EOF)
                break;
            printf("%s", txt2);
        }
        fclose(fp2);
    }`

关注:

testdata <- matrix(0, nrow = 3000, ncol = 1)

ncol <- c(7:15)
for(i in 1:length(testdata)){
    cat(i,"\r")
  testdata[i] <- length(which(!is.na(WEATHER[i, ncol])))
}