在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
列是需要轉化為表的列。