📜  在 R 中提取单列作为 DataFrame(1)

📅  最后修改于: 2023-12-03 15:37:28.002000             🧑  作者: Mango

在 R 中提取单列作为 DataFrame

在R中,有时需要从一个DataFrame中提取单列,对于初学者来说可能有些困惑。本篇文章将介绍在R中如何提取单列作为DataFrame。

示例数据

为了方便演示,我们使用R内置的iris数据集,这个数据集包含了150个样本的花朵花萼和花瓣的长度和宽度。我们将提取其中的Sepal.Length列作为DataFrame。

# 加载iris数据集
data(iris)

# 查看iris数据集前6行
head(iris)

输出结果如下:

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
方法一:使用 $ 运算符

可以使用 $ 运算符提取数据框列的列名。以下是使用 $ 运算符获取iris数据集中的Sepal.Length列的示例代码:

# 使用$运算符来提取 "Sepal.Length" 列
sepal_length <- iris$Sepal.Length

# 查看sepal_length的前6个值
head(sepal_length)

输出结果如下:

[1] 5.1 4.9 4.7 4.6 5.0 5.4

我们可以看到,sepal_length变量包含原始数据集中的Sepal.Length列作为一个向量。

方法二:使用 [ ] 运算符

另一个获取数据框某一列的方法是使用 [ ] 运算符。在[ ]括号中,iris数据框的列名用引号括起来。以下是使用 [ ]运算符获取iris数据集中的Sepal.Length列的示例代码:

# 使用[ ]运算符来提取 "Sepal.Length" 列
sepal_length <- iris['Sepal.Length']

# 查看sepal_length的前6行
head(sepal_length)

输出结果如下:

  Sepal.Length
1          5.1
2          4.9
3          4.7
4          4.6
5          5.0
6          5.4

可以看到,sepal_length变量返回一个新的DataFrame,仅包含iris数据集中的Sepal.Length列。

方法三:使用 subset() 函数

还可以使用R中的subset()函数来提取数据框的列,该函数将返回以所选列为列名的新数据框。以下是使用subset()函数获取iris数据集中的Sepal.Length列的示例代码:

# 使用subset()函数来提取 "Sepal.Length" 列
sepal_length <- subset(iris, select = Sepal.Length)

# 查看sepal_length的前6行
head(sepal_length)

输出结果如下:

  Sepal.Length
1          5.1
2          4.9
3          4.7
4          4.6
5          5.0
6          5.4

与使用 [ ]运算符相比,subset()函数可以选择多列,例如可以使用以下代码获取iris数据集中的Sepal.LengthSepal.Width两列:

# 使用subset()函数来提取 "Sepal.Length" 和 "Sepal.Width" 两列
Sepal_data <- subset(iris, select = c(Sepal.Length, Sepal.Width))

# 查看Sepal_data的前6行
head(Sepal_data)

输出结果如下:

  Sepal.Length Sepal.Width
1          5.1         3.5
2          4.9         3.0
3          4.7         3.2
4          4.6         3.1
5          5.0         3.6
6          5.4         3.9

以上就是在R中提取单列作为DataFrame的方法。无论使用哪种方法,我们都可以访问所需的单列,并通过将其复制到新向量或新数据框中进行进一步处理。