R语言 如何从列值中编写多个Excel文件
数据框架是一个基于单元格的结构,包括属于相同或不同数据类型的行和列。数据框架中的每个单元格都与一个唯一的值相关联,可以是一个确定的值,也可以是一个缺失的值,用NA表示。该数据框结构与Excel表格结构完全一致。因此,数据框的值可以很容易地写进Excel工作表,由 XLSX 扩展名指定。
R编程语言中的 XLSX 包可以用来对Excel文件进行读、写和操作。它是所有不同环境中最突出的包之一,可以执行Excel文档(xls和xlsx)的格式化。它必须被下载和安装,并使用命令下载到工作空间。
方法1:使用split()方法
一个数据框可以使用R中内置的data.frame()方法声明为包含一组数值。数据框可以在一个或多个列中包含不同或重复的数值。split()方法可以用来将输入的数据框隔离成多个子集,这取决于参数列中包含的值。创建的组的数量取决于应用列条件后获得的不同值的数量。这个方法的语法如下:
语法:
split ( dataframe , function)
参数 :
- dataframe – 要分割的输入数据框
- function – 要分割的数据帧所依据的因素。
然后可以用lapply()方法对得到的数据帧进行迭代,直到得到的数据帧的数量。这个方法在R中返回一个与所提供的数据框长度相同的列表,其中的每个元素都是对输入数据框的相应元素应用FUN的结果。
语法:
lapply (X, FUN, …)
参数
- X – 要应用函数的原子向量或数据框
- FUN – 要在X的每个元素上应用的函数。
每次对子集数据框进行迭代时,数据框的内容被写入一个xlsx工作表,其完整路径被提供,并与split()方法中输入列的相应不同单元值相连接。在路径上创建的工作表的数量相当于使用split()方法创建的不同分组的数据框架的数量。
下面的代码片段使用了数据框架的col3列,工作表的数量与该列的唯一值相对应。
输出:
现在,让我们迭代地创建XLSX文件。
输出
解释一下
由于有三个不同的组属于data_frame的col3,因此,在指定的路径位置创建了三个不同的excel表,其名称与该特定组的col3值相对应。输入数据框的整个行被复制到指定的excel表。
通过使用数据框架创建的Excel文件
以CA值为col3的Excel文件
以CS值为col3的Excel文件
以Eco值为col3的Excel文件
方法2:使用group_split()方法
group_split()方法也可以用来根据作为参数的列,将输入的数据框分成多个子集。列或逻辑条件也可以被指定为该方法的参数。该方法也可以使用管道操作符提供给数据框。
语法:
group_split ( dataframe , function)
参数 :
- dataframe – 要分割的输入数据框
- function – 要分割数据框的基础上的因素。
在下面的代码片段中,一个条件被应用在输入数据框架的col4列上。该条件检查col4的值是否大于2。根据布尔值的 “真 “或 “假”,形成两个组。因此,两个excel文件被创建,一个是col4值<=2,另一个是col4值>2。
输出
输出:
解释:
在返回的Tibbles集合中的最后一列是用标题 “col4>2 “创建的,它分别指向两种类型的值,一个逻辑的TRUE值和一个FALSE值。col4的值每次都被验证,然后整个行被复制到相应的表中。
Excel文件中的3,和4值为col4
以1,2个值作为col4的Excel文件