📅  最后修改于: 2023-12-03 15:39:17.752000             🧑  作者: Mango
当我们从一个数据框中想要选取其中的两列数据并转换为 R 中的命名向量时,我们可以使用以下两种方法。
paste()
函数和 with()
函数# 创建数据框 df
df <- data.frame(id = c(1, 2, 3, 4, 5), name = c("Alice", "Bob", "Charlie", "David", "Emma"))
# 将数据框的 id 和 name 两列转换为命名向量
vec <- with(df, paste(id, name, sep = "_"))
vec
# 输出: [1] "1_Alice" "2_Bob" "3_Charlie" "4_David" "5_Emma"
在上述代码中,我们使用 with()
函数来取出数据框中的两列,并使用 paste()
函数将它们组合在一起,并使用 sep
参数来加入下划线。
paste0()
函数和 $
操作符# 创建数据框 df
df <- data.frame(id = c(1, 2, 3, 4, 5), name = c("Alice", "Bob", "Charlie", "David", "Emma"))
# 将数据框的 id 和 name 两列转换为命名向量
vec <- paste0(df$id, "_", df$name)
vec
# 输出:[1] "1_Alice" "2_Bob" "3_Charlie" "4_David" "5_Emma"
在上述代码中,我们使用 $
操作符来取出数据框中的两列,并使用 paste0()
函数将它们组合在一起,不同于 paste()
函数的是,paste0()
函数不需要指定 sep
参数。
无论使用哪种方法,最终都可以得到一个命名向量,其中每个元素的命名方式为“id_name”的形式。