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も便利なのでいいかなと思います.