R 程序:按行将给定数据框转换为列表


2022年4月13日, Learn eTutorial
2028

如何按行将给定数据框转换为列表

这里我们解释如何编写 R 程序来按行将给定数据框转换为列表。这里我们使用内置函数 **data.frame()**。数据框用于存储数据表,数据表包含等长向量的列表。数据框由函数 data.frame() 创建,它包含紧密耦合的变量集合。该函数的语法是:



data.frame(…, row.names = NULL, check.rows = FALSE,check.names = TRUE, fix.empty.names = TRUE,stringsAsFactors = default.stringsAsFactors()) 

其中点(...)表示参数的形式为 value 或 tag = value,而 row.name 是一个 NULL 或单个整数或字符串。

如何在 R 程序中按行将给定数据框转换为列表

以下是 R 程序中按行将给定数据框转换为列表的步骤。在此 R 程序中,我们直接将数据框提供给内置函数。这里我们使用变量 **E、N、S、A、Q** 来保存不同类型的向量。调用函数 data.frame() 创建**数据框**。最后,通过调用 **split(E, seq(nrow(E)))** 将数据框转换为列表 L。这里的 **split()** 有助于将包含值的向量或数据框分成组。而 **seq()** 方法有助于生成规则序列。

算法 

步骤1:使用向量值为变量ENSAQ赋值

**步骤 2**:使用给定值创建数据框 **E**

**步骤 3**:打印数据框

**步骤 4**:通过调用 **split(E, seq(nrow(E)))** 将数据框转换为列表 **L**

**步骤 5**:打印新列表 **L**

R 源代码

                                          E = data.frame(
N = c('Jhon', 'Hialy', 'Albert', 'James', 'Delma'),
S = c(10, 9.5, 12.2, 11, 8),
A = c(2, 1, 2, 4, 1),
Q = c('yes', 'no', 'yes', 'no', 'no')
)
print("Original dataframe:")
print(E)
L = split(E, seq(nrow(E)))
print("dataframe rows to a list:")
print(L)
                                      

输出

[1] "Original dataframe:"
       N    S A   Q
1   Jhon 10.0 2 yes
2  Hialy  9.5 1  no
3 Albert 12.2 2 yes
4  James 11.0 4  no
5  Delma  8.0 1  no
[1] "dataframe rows to a list:"
$`1`
     N  S A   Q
1 Jhon 10 2 yes

$`2`
      N   S A  Q
2 Hialy 9.5 1 no

$`3`
       N    S A   Q
3 Albert 12.2 2 yes

$`4`
      N  S A  Q
4 James 11 4 no

$`5`
      N S A  Q
5 Delma 8 1 no