📅  最后修改于: 2023-12-03 14:53:09.956000             🧑  作者: Mango
在 R 中,我们可以使用不同的方式根据 DataFrame 中的其他列来添加新的列。下面将介绍几种常用的方法。
$
或 [['']]
操作符使用 $
或 [['']]
操作符可以通过列名直接访问 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
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
%>%
和 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 中的其他列添加新的列。