ふらふら Diary (仮)

興味のあることを適当に書いていく感じです

Rでファイルの読み書き

今回は最近よく使っているRのことを書きます.なかなか覚えられないので,ここにメモしておきます.

x <-read.csv("input.csv", header=F)
m <-matrix(x, ncol=2)
m1 <- m[-c(5,16,27,38,49,60,71),]
write.table(m1, "output.txt", quote=F, col.names=F, row.names=F,
append=F)

これ以降はデータがどうなっていくかが書いてあるだけです(長いです).

まず,以下がinput.csvを読み込んだものです.

V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21 V22 V23 V24 V25 V26
1 15  9 15 10 14 11 13 11 13  16  14  17  10  21  10  22   9  23   9  24   7  26   7  27   6  28
  V27 V28 V29 V30 V31 V32 V33 V34 V35 V36 V37 V38 V39 V40 V41 V42 V43 V44 V45 V46 V47 V48 V49
1   6  30   5  31   5  33   3  35   3  36   4  37   4  41   5  41   8  44   8  51  10  53  10
  V50 V51 V52 V53 V54 V55 V56 V57 V58 V59 V60 V61 V62 V63 V64 V65 V66 V67 V68 V69 V70 V71 V72
1  54  11  55  11  61  12  62  12  63  13  64  13  70  15  72  15  78  14  79  14  81  15  81
  V73 V74 V75 V76 V77 V78 V79 V80 V81 V82 V83 V84 V85 V86 V87 V88 V89 V90 V91 V92 V93 V94 V95
1  16  82  19  82  19  61  20  60  21  61  21  65  22  66  22  72  23  73  23  75  22  76  22
  V96 V97 V98 V99 V100 V101 V102 V103 V104 V105 V106 V107 V108 V109 V110 V111 V112 V113 V114
1  81  23  82  23   84   24   85   26   85   27   84   28   84   28   76   27   75   27   74
  V115 V116 V117 V118 V119 V120 V121 V122 V123 V124 V125 V126 V127 V128 V129 V130 V131 V132 V133
1   29   72   29   70   28   69   28   54   32   50   32   45   31   44   31   37   32   36   40
  V134 V135 V136 V137 V138 V139 V140 V141 V142 V143 V144 V145 V146 V147 V148 V149 V150 V151 V152
1   36   41   35   41   34   35   28   34   28   24   18   22   18   21   17   21   11   20   10
  V153 V154
1   20    9

1行154列のファイルです.
これを2列にします.

> m
      [,1] [,2]
 [1,] 15   61  
 [2,] 9    20  
 [3,] 15   60  
 [4,] 10   21  
 [5,] 14   61  
 [6,] 11   21  
 [7,] 13   65  
 [8,] 11   22  
 [9,] 13   66  
[10,] 16   22  
[11,] 14   72  
[12,] 17   23  
[13,] 10   73  
[14,] 21   23  
[15,] 10   75  
[16,] 22   22  
[17,] 9    76  
[18,] 23   22  
[19,] 9    81  
[20,] 24   23  
[21,] 7    82  
[22,] 26   23  
[23,] 7    84  
[24,] 27   24  
[25,] 6    85  
[26,] 28   26  
[27,] 6    85  
[28,] 30   27  
[29,] 5    84  
[30,] 31   28  
[31,] 5    84  
[32,] 33   28  
[33,] 3    76  
[34,] 35   27  
[35,] 3    75  
[36,] 36   27  
[37,] 4    74  
[38,] 37   29  
[39,] 4    72  
[40,] 41   29  
[41,] 5    70  
[42,] 41   28  
[43,] 8    69  
[44,] 44   28  
[45,] 8    54  
[46,] 51   32  
[47,] 10   50  
[48,] 53   32  
[49,] 10   45  
[50,] 54   31  
[51,] 11   44  
[52,] 55   31  
[53,] 11   37  
[54,] 61   32  
[55,] 12   36  
[56,] 62   40  
[57,] 12   36  
[58,] 63   41  
[59,] 13   35  
[60,] 64   41  
[61,] 13   34  
[62,] 70   35  
[63,] 15   28  
[64,] 72   34  
[65,] 15   28  
[66,] 78   24  
[67,] 14   18  
[68,] 79   22  
[69,] 14   18  
[70,] 81   21  
[71,] 15   17  
[72,] 81   21  
[73,] 16   11  
[74,] 82   20  
[75,] 19   10  
[76,] 82   20  
[77,] 19   9  

これが結果です.7行分削除されています.

> m1
      [,1] [,2]
 [1,] 15   61  
 [2,] 9    20  
 [3,] 15   60  
 [4,] 10   21  
 [5,] 11   21  
 [6,] 13   65  
 [7,] 11   22  
 [8,] 13   66  
 [9,] 16   22  
[10,] 14   72  
[11,] 17   23  
[12,] 10   73  
[13,] 21   23  
[14,] 10   75  
[15,] 9    76  
[16,] 23   22  
[17,] 9    81  
[18,] 24   23  
[19,] 7    82  
[20,] 26   23  
[21,] 7    84  
[22,] 27   24  
[23,] 6    85  
[24,] 28   26  
[25,] 30   27  
[26,] 5    84  
[27,] 31   28  
[28,] 5    84  
[29,] 33   28  
[30,] 3    76  
[31,] 35   27  
[32,] 3    75  
[33,] 36   27  
[34,] 4    74  
[35,] 4    72  
[36,] 41   29  
[37,] 5    70  
[38,] 41   28  
[39,] 8    69  
[40,] 44   28  
[41,] 8    54  
[42,] 51   32  
[43,] 10   50  
[44,] 53   32  
[45,] 54   31  
[46,] 11   44  
[47,] 55   31  
[48,] 11   37  
[49,] 61   32  
[50,] 12   36  
[51,] 62   40  
[52,] 12   36  
[53,] 63   41  
[54,] 13   35  
[55,] 13   34  
[56,] 70   35  
[57,] 15   28  
[58,] 72   34  
[59,] 15   28  
[60,] 78   24  
[61,] 14   18  
[62,] 79   22  
[63,] 14   18  
[64,] 81   21  
[65,] 81   21  
[66,] 16   11  
[67,] 82   20  
[68,] 19   10  
[69,] 82   20  
[70,] 19   9

最後にtxtファイルとして保存しています.

今回は行・列ともに名前を付けないで行いました.またappend=Fにするとデータをファイルに上書きします.

本当はC言語とかで書きたかったんですが,難しくてできなかったです.
でもRも便利なのでいいかなと思います.