在R语言中,可以使用reshape2
包中的melt()
函数将数据框转化为表。
首先,需要安装并加载reshape2
包:
install.packages("reshape2") library(reshape2)
假设有一个名为df
的数据框:
df <- data.frame( ID = c(1, 2, 3), Fruit = c("Apple", "Banana", "Orange"), Price = c(1.2, 0.8, 0.5), Quantity = c(5, 3, 4) ) df # ID Fruit Price Quantity # 1 1 Apple 1.2 5 # 2 2 Banana 0.8 3 # 3 3 Orange 0.5 4
然后,使用melt()
函数将数据框转化为表:
melted_df <- melt(df, id.vars = "ID", measure.vars = c("Fruit", "Price", "Quantity")) melted_df # ID variable value # 1 1 Fruit Apple # 2 2 Fruit Banana # 3 3 Fruit Orange # 4 1 Price 1.2 # 5 2 Price 0.8 # 6 3 Price 0.5 # 7 1 Quantity 5 # 8 2 Quantity 3 # 9 3 Quantity 4
转化后的表中,变量名称保存在variable
列中,对应的值保存在value
列中。id.vars
参数指定了保持不变的列,measure.vars
参数指定了需要转化为表的列。在上面的例子中,ID
列是保持不变的,Fruit
、Price
和Quantity
列是需要转化为表的列。