R 数据框

数据框是一种二维数据结构,可以表格形式存储数据。

数据框具有行和列,每列可以是一个不同的向量。不同的向量可以具有不同的数据类型。

在学习数据框之前,请确保您了解 *R 向量*。


在 R 中创建数据框

在 R 中,我们使用 data.frame() 函数来创建数据框。

data.frame() 函数的语法是

dataframe1 <- data.frame(
   first_col  = c(val1, val2, ...),
   second_col = c(val1, val2, ...),
   ...
)

这里,

  • first_col - 具有相同数据类型的 val1, val2, ... 值向量
  • second_col - 另一个具有相同数据类型的 val1, val2, ... 值向量,依此类推

让我们看一个例子,

# Create a data frame
dataframe1 <- data.frame (
  Name = c("Juan", "Alcaraz", "Simantha"),
  Age = c(22, 15, 19),
  Vote = c(TRUE, FALSE, TRUE)
)

print(dataframe1)

输出

      Name   Age       Vote
1     Juan    22       TRUE
2  Alcaraz    15      FALSE
3 Simantha    19       TRUE

在上面的示例中,我们使用了 data.frame() 函数来创建名为 dataframe1 的数据框。请注意 data.frame() 中传递的参数,

data.frame (
  Name = c("Juan", "Alcaraz", "Simantha"),
  Age = c(22, 15, 19),
  Vote = c(TRUE, FALSE, TRUE)
)

这里,NameAgeVote 分别是 StringNumericBoolean 类型向量的列名。

最后,以表格形式表示的数据被打印出来。


访问数据框列

有不同的方法可以从数据框中提取列。我们可以使用 [ ][[ ]]$ 来访问 R 中数据框的特定列。例如,

# Create a data frame
dataframe1 <- data.frame (
  Name = c("Juan", "Alcaraz", "Simantha"),
  Age = c(22, 15, 19),
  Vote = c(TRUE, FALSE, TRUE)
)

# pass index number inside [ ] 
print(dataframe1[1])

# pass column name inside [[  ]] 
print(dataframe1[["Name"]])

# use $ operator and column name 
print(dataframe1$Name)

输出

     Name
1     Juan
2  Alcaraz
3 Simantha
[1] "Juan"     "Alcaraz"  "Simantha"
[1] "Juan"     "Alcaraz"  "Simantha"

在上面的示例中,我们创建了一个名为 dataframe1 的数据框,其中包含三列:NameAgeVote

在这里,我们使用了不同的运算符来访问 dataframe1Name 列。

使用 [[ ]]$ 进行访问是相似的。但是,对于 [ ] 而言,它们有所不同,[ ] 将返回一个数据框,而其他两个将将其简化为向量并返回一个向量。


合并数据框

在 R 中,我们使用 rbind()cbind() 函数将两个数据框合并在一起。

  • rbind() - 垂直合并两个数据框
  • cbind() - 水平合并两个数据框

使用 rbind() 垂直合并

如果我们要垂直合并两个数据框,则这两个数据框的列名必须相同。例如,

# create a data frame
dataframe1 <- data.frame (
  Name = c("Juan", "Alcaraz"),
  Age = c(22, 15)
)

# create another data frame
dataframe2 <- data.frame (
  Name = c("Yiruma", "Bach"),
  Age = c(46, 89)
)

# combine two data frames vertically 
updated <- rbind(dataframe1, dataframe2)
print(updated)

输出

       Name   Age
1       Juan    22
2    Alcaraz    15
3     Yiruma    46
4       Bach    89

在这里,我们使用了 rbind() 函数垂直合并了两个数据框:dataframe1dataframe2

使用 cbind() 水平合并

cbind() 函数水平合并两个或更多数据框。例如,

# create a data frame
dataframe1 <- data.frame (
  Name = c("Juan", "Alcaraz"),
  Age = c(22, 15)
)

# create another data frame
dataframe2 <- data.frame (
  Hobby = c("Tennis", "Piano")
)

# combine two data frames horizontally 
updated <- cbind(dataframe1, dataframe2)
print(updated)

输出

      Name   Age   Hobby
1     Juan    22  Tennis
2 Alcaraz     15   Piano

在这里,我们使用了 cbind() 水平合并了两个数据框。

注意:两个或更多合并数据框的每个向量的项目数必须相等,否则我们将收到错误:参数暗示行或列数不同


R 中数据框的长度

在 R 中,我们使用 length() 函数来查找数据框中的列数。例如,

# Create a data frame
dataframe1 <- data.frame (
  Name = c("Juan", "Alcaraz", "Simantha"),
  Age = c(22, 15, 19),
  Vote = c(TRUE, FALSE, TRUE)
)

cat("Total Elements:", length(dataframe1))

输出

Total Elements: 3

在这里,我们使用了 length() 来查找 dataframe1 中的总列数。由于有 3 列,length() 函数返回 3

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战