R语言 熔化和浇注
熔化 和 铸造 是R编程中一个有趣的方面,可以改变数据的形状,并进一步获得所需的形状。R编程语言有许多方法可以使用 reshape 包对数据进行重塑。 melt() 和 cast() 是可以有效重塑数据的函数。在R语言中,有许多包需要进行数据重塑。每个数据都被指定为多行的数据框架,每行都有不同的细节,这种类型的数据格式被称为 长格式。
R语言 融化
R编程中的熔化是为了组织数据。它是通过 melt() 函数来完成的,该函数接收数据集和必须保持不变的列值。使用 melt() ,数据框架被转换为长格式,并将数据框架拉长。
语法:
melt(data, na.rm = FALSE, value.name = “value”)
参数:
data: 代表需要重塑的数据集
na.rm: 如果是TRUE,从数据集中删除NA值
value.name: 代表用于存储值的变量名称
例子
# Required library for ships dataset
install.packages("MASS")
# Required for melt() and cast() function
install.packages("reshape2")
install.packages("reshape")
#Loading the libraries
library(MASS)
library(reshape2)
library(reshape)
# Create dataframe
n <- c(1, 1, 2, 2)
time <- c(1, 2, 1, 2)
x <- c(6, 3, 2, 5)
y <- c(1, 4, 6, 9)
df <- data.frame(n, time, x, y)
# Original data frame
cat("Original data frame:\n")
print(df)
# Organize data w.r.t. n and time
molten.data <- melt(df, id = c("n","time"))
cat("\nAfter melting data frame:\n")
print(molten.data)
输出
Original data frame:
n time x y
1 1 1 6 1
2 1 2 3 4
3 2 1 2 6
4 2 2 5 9
After melting data frame:
n time variable value
1 1 1 x 6
2 1 2 x 3
3 2 1 x 2
4 2 2 x 5
5 1 1 y 1
6 1 2 y 4
7 2 1 y 6
8 2 2 y 9
R语言 浇注
R编程中的铸造是用来重塑熔化的数据,使用 cast() 函数,它需要聚合函数和公式来相应地聚合数据。这个函数用于将长格式的数据转换回基于 cast() 函数中的公式的一些聚合形式的数据。
语法:
cast(data, formula, fun.aggregation)
参数:
data: 代表数据集
formula: 代表数据要被重塑的形式
fun.aggregation: 代表聚合函数
例子
# Print recasted dataset using cast() function
cast.data <- cast(molten.data, n~variable, sum)
print(cast.data)
cat("\n")
time.cast <- cast(molten.data, time~variable, mean)
print(time.cast)
输出
n x y
1 1 9 5
2 2 7 15
time x y
1 1 4 3.5
2 2 4 6.5