📌  相关文章
📜  如何根据 R DataFrame 中的其他列添加列?(1)

📅  最后修改于: 2023-12-03 14:53:09.956000             🧑  作者: Mango

如何根据 R DataFrame 中的其他列添加列?

在 R 中,我们可以使用不同的方式根据 DataFrame 中的其他列来添加新的列。下面将介绍几种常用的方法。

1. 使用 $[['']] 操作符

使用 $[['']] 操作符可以通过列名直接访问 DataFrame 中的列,并根据这些列来添加新的列。下面是一个示例:

# 创建一个包含两个列的 DataFrame
data <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))

# 使用 $ 操作符根据 A 列和 B 列创建新的列 C
data$C <- data$A + data$B

# 使用 [['']] 操作符根据 A 列和 B 列创建新的列 D
data[['D']] <- data$A * data$B

# 打印结果
print(data)

输出结果为:

  A B C  D
1 1 4 5  4
2 2 5 7 10
3 3 6 9 18
2. 使用 transform() 函数

transform() 函数可以根据 DataFrame 中的多个列创建新的列。它接受 DataFrame 和一个或多个以及它们对应的列处理函数作为参数。下面是一个示例:

# 创建一个包含两个列的 DataFrame
data <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))

# 使用 transform() 函数根据 A 列和 B 列创建新的列 C 和 D
data <- transform(data, C = A + B, D = A * B)

# 打印结果
print(data)

输出结果为:

  A B C  D
1 1 4 5  4
2 2 5 7 10
3 3 6 9 18
3. 使用管道操作符 %>%mutate() 函数

管道操作符 %>% 可以将一个表达式的结果作为下一个表达式的参数,而 mutate() 函数可以根据 DataFrame 中的多个列创建新的列。下面是一个示例:

# 创建一个包含两个列的 DataFrame
data <- data.frame(A = c(1, 2, 3), B = c(4, 5, 6))

# 使用管道操作符 %>% 和 mutate() 函数根据 A 列和 B 列创建新的列 C 和 D
library(dplyr)
data <- data %>% mutate(C = A + B, D = A * B)

# 打印结果
print(data)

输出结果为:

  A B C  D
1 1 4 5  4
2 2 5 7 10
3 3 6 9 18

以上介绍了三种常用的方法来根据 R DataFrame 中的其他列添加列。你可以根据自己的需求选择其中的一种或多种方法来根据 DataFrame 中的其他列添加新的列。