如何在 R 中的聚合函数中设置列名
在本文中,我们将讨论如何使用 R 编程语言中的聚合函数设置列名。
基 R 中的聚合方法用于将数据帧划分为更小的子集,并为每个形成的组计算汇总统计数据。要应用的函数可以是 sum、mean、mode 或任何可用的预定义聚合方法。这种方法使数据更清晰。
Syntax: aggregate(formula, data, function)
Parameters:
- formula: the variable(s) of the input data frame we want to apply functions on.
- data: the data that we want to use for group by operation.
- function: the function or calculation to be applied.
方法一:使用 setNames() 方法
setNames() 方法用于指定对象的名称,然后返回该对象。对于数据框,可以使用 c() 方法使用新名称重命名列。
Syntax: setNames(data, col-name-vec)
Parameter :
data – The data frame to be applied the function onto
col-name-vec – The column name vector containing the names of the columns.
示例:使用聚合函数设置列名
R
# creating a data frame
data_frame <- data.frame(col1 = c(1:9),
col2 = LETTERS[1:3])
print("Original DataFrame")
print(data_frame)
# using aggregate method
data_agg <- aggregate(col1 ~ col2, data_frame, sum)
# using setnames method
data_mod <- setNames(data_agg,
c("C1", "C2"))
print("Modified DataFrame")
print(data_mod)
R
# creating a data frame
data_frame <- data.frame(col1 = c(1:9),
col2 = LETTERS[1:3])
print("Original DataFrame")
print(data_frame)
# using aggregate method
data_mod <- aggregate( list(mean = data_frame$col1),
list(letter = data_frame$col2),
mean)
# printing the modified dataframe
print("Modified DataFrame")
print(data_mod)
输出
[1] "Original DataFrame"
col1 col2
1 1 A
2 2 B
3 3 C
4 4 A
5 5 B
6 6 C
7 7 A
8 8 B
9 9 C >
[1] "Modified DataFrame"
C1 C2
1 A 12
2 B 15
3 C 18
方法 2:使用 list() 方法
可以使用 R 中的 list() 方法将数据框列显式映射到列表。因此,可以在聚合函数用法中指定具有自定义名称的通用列表对象。
句法:
list(new-col-name = df$old-col-name)
示例:使用聚合函数设置列名
电阻
# creating a data frame
data_frame <- data.frame(col1 = c(1:9),
col2 = LETTERS[1:3])
print("Original DataFrame")
print(data_frame)
# using aggregate method
data_mod <- aggregate( list(mean = data_frame$col1),
list(letter = data_frame$col2),
mean)
# printing the modified dataframe
print("Modified DataFrame")
print(data_mod)
输出
[1] "Original DataFrame"
col1 col2
1 1 A
2 2 B
3 3 C
4 4 A
5 5 B
6 6 C
7 7 A
8 8 B
9 9 C
[1] "Modified DataFrame"
letter mean
1 A 4
2 B 5
3 C 6