简述

令人惊讶的是,网上的教程关于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)
  • 获取第一行的数据
> a[1,]seconds count
1     116     0
  • 获取第一列的数据
> a[1]seconds
1     116.0
2     112.0
3     160.0
4      51.5
5     102.0
6      77.4
7      14.5
8    1070.0
9      99.1
10     49.6
11     50.8
12     77.2
13    114.0
14    165.0
15    106.0
16     52.9
17    104.0
18     51.0
19     51.4
20    316.0
21    687.0
22    101.0
23     99.7
24     49.2
25     49.2
26    104.0
27     53.5
28    124.0
29    168.0
30    109.0
31    107.0
32    103.0
33     52.1
34    104.0
35    656.0
36    111.0
37    417.0
38    149.0
39     56.5
40     12.5
41    101.0
42    107.0
43    113.0
44     80.8
45    110.0
46    109.0
47    105.0
48    104.0
49    107.0
50     53.3
51     51.1
52    868.0
53    105.0
54    105.0
55    103.0
56    104.0
57    105.0
58     52.1
59     52.3
60   1110.0
61     30.4
62    116.0
63     44.9
64     46.1
65     97.9
66    102.0
67    162.0
68    102.0
69    102.0
70     98.7
71     98.7
72    103.0
73     51.6
74     53.1
75   1290.0
76     56.8
77     89.2
78     52.8
79     72.2
80    111.0
81     57.7
82     32.8
83     99.6
84     50.9
85     51.2
86   1350.0
87     69.1
88     67.7
89     38.2
90     37.9
91     31.3
92    121.0
93     55.8
94    460.0
95    128.0
96     38.7
97     41.8
98     81.7
99     88.3
100    37.4
  • 第二种方法获取第一列的数据
> a[,1][1]  116.0  112.0  160.0   51.5  102.0   77.4   14.5 1070.0   99.1   49.6   50.8   77.2  114.0[14]  165.0  106.0   52.9  104.0   51.0   51.4  316.0  687.0  101.0   99.7   49.2   49.2  104.0[27]   53.5  124.0  168.0  109.0  107.0  103.0   52.1  104.0  656.0  111.0  417.0  149.0   56.5[40]   12.5  101.0  107.0  113.0   80.8  110.0  109.0  105.0  104.0  107.0   53.3   51.1  868.0[53]  105.0  105.0  103.0  104.0  105.0   52.1   52.3 1110.0   30.4  116.0   44.9   46.1   97.9[66]  102.0  162.0  102.0  102.0   98.7   98.7  103.0   51.6   53.1 1290.0   56.8   89.2   52.8[79]   72.2  111.0   57.7   32.8   99.6   50.9   51.2 1350.0   69.1   67.7   38.2   37.9   31.3[92]  121.0   55.8  460.0  128.0   38.7   41.8   81.7   88.3   37.4

不过发现前面有一个那个[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 = a[, 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
  • 根据列名删除部分列
> a = a[,-which(names(a) %in% c("count"))]

删除掉 count

R语言操作excel文件的数据相关推荐

  1. c语言从excal读取字符串,C语言操作EXCEL文件(读写)

    C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...

  2. C语言操作EXCEL文件(读写)

    C语言操作EXCEL文件(读写) 本文主要介绍通过纯C语言进行EXCEL的读写操作:(修改时间2018.08.28,如果运行结果均是0,请看文章最后一节) C语言读操作 C语言写操作 在之前需要使用C ...

  3. R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)

    R语言读取excel文件实战(read.xlsx函数.read_excel函数.read.xlsx函数.Write函数) 目录 R语言读取excel文件实战(read.xlsx函数.read_exce ...

  4. R语言读取Excel文件的一系列陷阱

    你想用R读取一个Excel文件,你觉得这事没啥难的,就像所有的文件读取,只需要知道文件名就万事大吉了. 于是,你把1.xls放到读取.R的文件夹下面,重命名为1.csv,打开rstudio,执行下面这 ...

  5. Python操作Excel文件汇总数据案例一则

    问题描述: Excel文件"每个人的爱好.xlsx"内容如下: 要求在最后追加一列,该列中每个单元格的内容为所在行前几列单元格数据的汇总.以上面的内容为例,处理后文件内容如下: 参 ...

  6. C语言操作Excel文件

    一.前言 xlsxio是一个用用于读写 .xlsx 文件的 C 库,其github地址如下: https://github.com/brechtsanders/xlsxio 该库的编写考虑了以下目标: ...

  7. R语言读取Excel文件的方法

    [软件版本] 操作系统:Win7 旗舰版 R语言版本:R-3.6.3-win.exe RStudio版本:RStudio-1.3.1093.exe RTools版本:Rtools35.exe Java ...

  8. Java操作excel文件插入数据

    读取一个表数据根据自己的需求将数据插入到另外一个表中,复制代码下载excel及jar包即可 注意:读取表数据时,表格中的格子没有数据时会读取报错 excel文件及相关jar包: 连接:https:// ...

  9. R语言操作PDF文件的包

    背景 有过文章投稿经验的朋友们知道,文章中的图片排版是个很繁琐的过程.涉及到多个图片的组合跟字体字号的调整.刚开始自己没有这方面经验,对输出的结果图格式比较随意:*.jpg,*.png等等.直到后面需 ...

最新文章

  1. Linux内核启动速度优化,嵌入式Linux启动时间优化的秘密之五-Bootloader
  2. 选择头秃还是植发?大数据告诉你植发行业水有多深?
  3. ActiveMQ安装使用
  4. 步步为营-19-正则表达式的简单应用
  5. 什么叫一年有四季......
  6. java中精确地小数_在Java等于方法中进行精确比较
  7. 强一致性和弱一致性的区别
  8. 从12306网站新验证码看Web验证码设计与破解
  9. 大型网站应用之海量数据和高并发解决方案总结一二
  10. 工控领域组态软件开发感触
  11. 分享一个免费开源的视频录制软件(OBS)
  12. IcedTea6 1.7.6、1.8.3和1.9.2补丁程序信息泄漏
  13. 对校招生培养工作的建议_对我校招生工作的一些粗浅想法(精)
  14. c语言中的各种变量是如何存储的(-)
  15. 51单片机学习笔记之数码管1显示数字0以及使用蜂鸣器
  16. 各版本Metal支持的iOS版本与MacOS版本
  17. 基于Python大数据的的新能源汽车推荐系统的设计与实现
  18. 数据仓库---JPivot连接MySQL VS PostgreSQL
  19. 【牛客题霸】语法篇 - C++入门72题
  20. 官方的Getting Started

热门文章

  1. platform_driver_probe与platform_driver_register的区别
  2. clone下来的代码push到自己的远程仓库中
  3. 卓讯企业名录搜索软件_还在用卓讯企业名录搜索软件吗?探迹黑科技助力企业提升销售效率...
  4. springboot整合elasticJob实战(纯代码开发三种任务类型用法)以及分片系统,事件追踪详解...
  5. Linux LB 集群知识、如何用 LVS 方式实现 LB 集群?
  6. linux 命令详解 十一
  7. 电缆桥架安装规范标准_电缆桥架怎么安装,桥架安装工艺分享
  8. Leetcode 88. 合并两个有序数组 解题思路及C++实现
  9. TensorFlow预训练模型在新图中权重部分加载
  10. PAT练习之字符串处理