R语言操作excel文件的数据
簡述
令人驚訝的是,網上的教程關于r語言處理excel數據的都是在說如何讀。。
下面以用xlsx這個包為例
安裝這個包,并讀取數據
【兩行命令】R語言讀取excel數據
操作數據
其實,導入進來之后,到R語言的環境中,就會轉為data.frame的格式。
所以,我們就只需要安裝data.frame的方式來操作就好了。
假設a是導入進來的變量
導入方法為:
library(xlsx) a = read.xlsx('D:/Code/R/Data in Excel/Chapter 8/gamma-ray.xls',1)- 獲取第一行的數據
- 獲取第一列的數據
- 第二種方法獲取第一列的數據
不過發現前面有一個那個[1]之類的數據是吧,那個其實是不存在于數據之中的,這里只是系統在顯示數據的時候自動生成的。
R語言是主要為了數據處理而服務的。所以,這里在處理很多數據的時候,都需要標記一下當前這一行的數據的第一個是第幾位。這樣就好看一點。
- 兩列之間做加減乘除
下面的東西,很奇怪是吧。列名居然還是a[2]的,據使用體驗效果來看,估計是誰放前面就是誰的列名做生成的臨時變量的列名
> a[2]/a[1] count 1 0.000000000 2 0.000000000 3 0.000000000 4 0.000000000 5 0.009803922 6 0.000000000 7 0.000000000 8 0.002803738 9 0.010090817 10 0.000000000 11 0.000000000 12 0.000000000 13 0.000000000 14 0.000000000 15 0.000000000 16 0.000000000 17 0.019230769 18 0.039215686 19 0.000000000 20 0.006329114 21 0.005822416 22 0.000000000 23 0.000000000 24 0.000000000 25 0.020325203 26 0.000000000 27 0.000000000 28 0.000000000 29 0.000000000 30 0.000000000 31 0.009345794 32 0.000000000 33 0.000000000 34 0.009615385 35 0.007621951 36 0.009009009 37 0.004796163 38 0.006711409 39 0.017699115 40 0.000000000 41 0.009900990 42 0.000000000 43 0.008849558 44 0.000000000 45 0.000000000 46 0.000000000 47 0.000000000 48 0.009615385 49 0.000000000 50 0.000000000 51 0.000000000 52 0.001152074 53 0.000000000 54 0.000000000 55 0.019417476 56 0.000000000 57 0.000000000 58 0.000000000 59 0.000000000 60 0.000000000 61 0.000000000 62 0.000000000 63 0.000000000 64 0.000000000 65 0.000000000 66 0.009803922 67 0.000000000 68 0.000000000 69 0.000000000 70 0.000000000 71 0.020263425 72 0.000000000 73 0.019379845 74 0.000000000 75 0.002325581 76 0.000000000 77 0.011210762 78 0.018939394 79 0.000000000 80 0.000000000 81 0.000000000 82 0.000000000 83 0.020080321 84 0.019646365 85 0.000000000 86 0.004444444 87 0.000000000 88 0.000000000 89 0.026178010 90 0.000000000 91 0.000000000 92 0.000000000 93 0.000000000 94 0.015217391 95 0.000000000 96 0.025839793 97 0.000000000 98 0.000000000 99 0.000000000 100 0.000000000- 添加新的列
這里就直接用上一個操作的數據做了
> a[3] = a[2] / a[1]操作之后,就會在這個data.frame之中,添加一個新的列。
- 修改列名
我們注意到,上一個數據生成的時候,我們沒有指定列名。所以,這里我們需要交代一下。
下面的代碼,就將第三列的列名修改為了count_avg
> names(a)[3] = "count_avg"- 查看a的數據
兩種方法
方法一:
> View(a)方法二:
> aseconds count count_avg 1 116.0 0 0.000000000 2 112.0 0 0.000000000 3 160.0 0 0.000000000 4 51.5 0 0.000000000 5 102.0 1 0.009803922 6 77.4 0 0.000000000 7 14.5 0 0.000000000 8 1070.0 3 0.002803738 9 99.1 1 0.010090817 10 49.6 0 0.000000000 11 50.8 0 0.000000000 12 77.2 0 0.000000000 13 114.0 0 0.000000000 14 165.0 0 0.000000000 15 106.0 0 0.000000000 16 52.9 0 0.000000000 17 104.0 2 0.019230769 18 51.0 2 0.039215686 19 51.4 0 0.000000000 20 316.0 2 0.006329114 21 687.0 4 0.005822416 22 101.0 0 0.000000000 23 99.7 0 0.000000000 24 49.2 0 0.000000000 25 49.2 1 0.020325203 26 104.0 0 0.000000000 27 53.5 0 0.000000000 28 124.0 0 0.000000000 29 168.0 0 0.000000000 30 109.0 0 0.000000000 31 107.0 1 0.009345794 32 103.0 0 0.000000000 33 52.1 0 0.000000000 34 104.0 1 0.009615385 35 656.0 5 0.007621951 36 111.0 1 0.009009009 37 417.0 2 0.004796163 38 149.0 1 0.006711409 39 56.5 1 0.017699115 40 12.5 0 0.000000000 41 101.0 1 0.009900990 42 107.0 0 0.000000000 43 113.0 1 0.008849558 44 80.8 0 0.000000000 45 110.0 0 0.000000000 46 109.0 0 0.000000000 47 105.0 0 0.000000000 48 104.0 1 0.009615385 49 107.0 0 0.000000000 50 53.3 0 0.000000000 51 51.1 0 0.000000000 52 868.0 1 0.001152074 53 105.0 0 0.000000000 54 105.0 0 0.000000000 55 103.0 2 0.019417476 56 104.0 0 0.000000000 57 105.0 0 0.000000000 58 52.1 0 0.000000000 59 52.3 0 0.000000000 60 1110.0 0 0.000000000 61 30.4 0 0.000000000 62 116.0 0 0.000000000 63 44.9 0 0.000000000 64 46.1 0 0.000000000 65 97.9 0 0.000000000 66 102.0 1 0.009803922 67 162.0 0 0.000000000 68 102.0 0 0.000000000 69 102.0 0 0.000000000 70 98.7 0 0.000000000 71 98.7 2 0.020263425 72 103.0 0 0.000000000 73 51.6 1 0.019379845 74 53.1 0 0.000000000 75 1290.0 3 0.002325581 76 56.8 0 0.000000000 77 89.2 1 0.011210762 78 52.8 1 0.018939394 79 72.2 0 0.000000000 80 111.0 0 0.000000000 81 57.7 0 0.000000000 82 32.8 0 0.000000000 83 99.6 2 0.020080321 84 50.9 1 0.019646365 85 51.2 0 0.000000000 86 1350.0 6 0.004444444 87 69.1 0 0.000000000 88 67.7 0 0.000000000 89 38.2 1 0.026178010 90 37.9 0 0.000000000 91 31.3 0 0.000000000 92 121.0 0 0.000000000 93 55.8 0 0.000000000 94 460.0 7 0.015217391 95 128.0 0 0.000000000 96 38.7 1 0.025839793 97 41.8 0 0.000000000 98 81.7 0 0.000000000 99 88.3 0 0.000000000 100 37.4 0 0.000000000- 刪除部分列
只保留第一、二列
> a = a[, c(1, 2)]只刪除第一、二列
> a = a[, -c(1, 2)]保留第一到第二列
(后面的能夠數值就可以任意寫了,刪除連續的片段)
只刪除第一到第二列
(同樣是,可以刪除連續的片段)
-
刪除行
就是跟上面的是一樣的。(只是把列的位置和行的位置都調換一下就好了)
注意一下:逗號不能省略 -
提取部分行和部分列
第一行到第一列
> a[1:5, 1:2]seconds count 1 116.0 0 2 112.0 0 3 160.0 0 4 51.5 0 5 102.0 1- 根據列名刪除部分列
刪除掉 count列
總結
以上是生活随笔為你收集整理的R语言操作excel文件的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【两行命令】R语言读取excel数据
- 下一篇: 【跟网上的大多数不一样】rstudio