跳转至

Data.frame()

在R语言中,data.frame()函数用于创建数据框(data frame)。 函数定义

data.frame(..., row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors())
参数: - ...:列向量或其他数据框,用于构建数据框的列。每个参数可以是向量、矩阵、数组或其他数据结构。 - row.names:指定行名(可选)。可以是字符向量或NULL。默认情况下,行名为数字序列。 - check.rows:逻辑值,表示是否检查输入的行数。默认为FALSE,表示不检查。 - check.names:逻辑值,表示是否检查列名的合法性。默认为TRUE,表示检查。 - stringsAsFactors:逻辑值,表示是否将字符列作为因子处理。默认为根据全局选项options(stringsAsFactors)来确定。 示例: 以下是一些使用data.frame()函数创建数据框的示例:
# 示例1:创建简单数据框
name <- c("Alice", "Bob", "Charlie")
age <- c(25, 30, 35)
height <- c(165, 175, 185)

df <- data.frame(name, age, height)
print(df)
# 输出:
#     name age height
# 1  Alice  25    165
# 2    Bob  30    175
# 3 Charlie  35    185

# 示例2:创建具有行名的数据框
name <- c("Alice", "Bob", "Charlie")
age <- c(25, 30, 35)
height <- c(165, 175, 185)

df <- data.frame(name, age, height, row.names = c("P1", "P2", "P3"))
print(df)
# 输出:
#       name age height
# P1   Alice  25    165
# P2     Bob  30    175
# P3 Charlie  35    185

# 示例3:创建具有因子列的数据框
name <- c("Alice", "Bob", "Charlie")
age <- c(25, 30, 35)
gender <- c("Female", "Male", "Male")

df <- data.frame(name, age, gender, stringsAsFactors = TRUE)
print(df)
# 输出:
#     name age gender
# 1  Alice  25 Female
# 2    Bob  30   Male
# 3 Charlie  35   Male
# 
# 注意:gender列被默认转换为因子类型

在上述示例中,我们展示了使用data.frame()函数创建数据框的不同情况。

在示例1中,我们创建了一个简单的数据框df,使用nameageheight作为列向量构建数据框。函数将这些列合并为一个数据框,并打印出数据框的内容。

在示例2中,我们创建了一个具有行名的数据框df,使用nameageheight作为列向量构建数据框,并使用row.names参数指定了行名。函数将这些列合并为一个数据框,并打印出数据框的内容。

在示例3中,我们创建了一个具有因子列的数据框df,使用nameagegender作为列向量构建数据框,并使用stringsAsFactors参数将字符列gender转换为因子类型。函数将这些列合并为一个数据框,并打印出数据框的内容。

通过使用data.frame()函数,我们可以根据给定的列向量创建数据框,并根据需要指定行名、检查行数和列名的合法性,以及处理字符列是否转换为因子类型等。数据框是R语言中常用的数据结构,用于处理和分析结构化数据。

常见创建形式

注意每个列后面要加逗号

# 创建数据库数据
database_data <- data.frame(
  ID = c(1, 2, 3, 4, 5),
  Name = c("John", "Emma", "Michael", "Sophia", "William"),
  Age = c(25, 28, 32, 27, 30),
  Country = c("USA", "Canada", "UK", "Australia", "Germany"),
  Salary = c(50000, 60000, 70000, 55000, 65000),
  stringsAsFactors = FALSE
)

# 打印输出数据库数据
print(database_data)