使用R操作csv电子表格

时间:2014-08-20 01:54:31

标签: r loops dataframe spreadsheet import-from-csv

我想编写一个如下所示的基本循环:

  1. 将电子表格导入为数据框

  2. 按标题中的变量进行扫描,找到丢失的数据点" NA"删除该变量的该日历月的所有数据,即:

    这里var' X'有' NA'在1月的第二天。我想删除' X'

    的所有1月值
      X Y Z
    
         

    jan 3 3 3

         

    jan NA 4 5

         

    jan 2 6 2

         

    feb 1 8 NA

         

    feb 4 2 3

         

    feb 9 4 1

         

    3月5日NA 5

         

    mar 8 7 4

         

    3月9日7月5日

    创建如下所示的新数据框:

      X
    
         

    feb 1

         

    2月4日

         

    feb 9

         3月5日

         

    3月8日

         3月9日

       Y 
    
         

    jan 3

         

    jan 4

         

    jan 6

         

    feb 8

         

    2月2日

         

    2月4日

      Z
    
         

    jan 3

         

    jan 5

         

    jan 2

         3月5日

         3月4日

         3月5日

  3. 保存剩余的'完整的月份' (在这种情况下' X' feb-mar,' Y' jan-feb,' Z' jan& mar)在新数据框架中导出为新的.csv文件

  4. 任何帮助入门都会很大。如果已经有人问过这个问题,请指导我,我不确定如何搜索这个。

1 个答案:

答案 0 :(得分:0)

尝试:

ddf2 = ddf[,c(1,2)]
xdf = ddf[ddf$month!=ddf2$month[is.na(ddf2$X)], c(1,2)]
xdf
  month X
4   feb 1
5   feb 4
6   feb 9
7   mar 5
8   mar 8
9   mar 9

ddf2 = ddf[,c(1,3)]
ydf = ddf[ddf$month!=ddf2$month[is.na(ddf2[,2])], c(1,3)]
ydf
  month Y
1   jan 3
2   jan 4
3   jan 6
4   feb 8
5   feb 2
6   feb 4

ddf2 = ddf[,c(1,4)]
zdf = ddf[ddf$month!=ddf2$month[is.na(ddf2[,2])], c(1,4)]
zdf
  month Z
1   jan 3
2   jan 5
3   jan 2
7   mar 5
8   mar 4
9   mar 5