R 程序:从给定数据框中提取第 3 行和第 5 行,以及第 1 列和第 3 列


2022年5月6日, Learn eTutorial
1741

如何从给定数据框中提取指定行和指定列

在这里,我们将解释如何编写一个 R 程序,从给定数据框中提取第 3 行和第 5 行,以及第 1 列和第 3 列。这里我们使用内置函数 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 程序中从给定数据框中提取第 3 行和第 5 行,以及第 1 列和第 3 列

以下是从给定数据框中提取第 3 行和第 5 行,以及第 1 列和第 3 列的 R 程序步骤。在此 R 程序中,我们直接将数据框传递给内置函数。这里我们使用变量 E, N, S, A, Q 来保存不同类型的向量。调用函数 data.frame() 来创建 数据框。最后,通过调用 E[c(3,5),c(1,3)] 从给定数据框中提取指定的行和指定的列。

算法

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

步骤2:首先打印原始向量值

步骤 3:从给定数据框中提取第 3 行和第 5 行,以及第 1 列和第 3 列,如 E[c(3,5),c(1,3)]

步骤 4:将变量 result 赋值为结果

步骤 5:打印保存结果的变量 result

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)
print("Extract 3rd and 5th rows with 1st and 3rd columns :")
result =  E[c(3,5),c(1,3)]
print(result)
                                      

输出

[1] "Original dataframe:"
     name    score attempts qualify
1  Jhon       10        2     yes
2  Hialy      9.5       1     no
3  Albert     12.2      2     yes
4  James      11        4     no
5  Delma      8         1     no

[1] "Extract 3rd and 5th rows with 1st and 3rd columns:"
       name          attempts     
3      Albert            2           
5      Delma             1