我有一个宽格式表,其中前 3 行用于描述表中显示的数据。例如:
Company: | Company A | Company B | Company C | | Company N
Data source: | Budget | Actual | Budget | ... | ...
Currency: | USD | EUR | USD | | ...
Indicator:
Sales 500 1000 1500 ... ...
Gross Income 200 300 400 ... ...
... ... ... ... ... ...
Indicator J ... ... ... ...
我想用以下布局将其重塑为长格式:
Indicator | Company | Currency | Data Source | Value
Sales | Company A | USD | Budget | 500
Sales | Company B | EUR | Actual | 1000
... | ... | ... | ... | ...
我试图用 reshape2 包融化它,但没有设法将第 2 行和第 3 行转换为变量
dput(AAA)
structure(list(V1 = structure(c(1L, 8L, 2L, 5L, 7L, 4L, 3L, 6L
), .Label = c("Company:", "Currency:", "EBITDA", "Gross Income",
"Indicator:", "Net Income", "Sales", "Source:"), class = "factor"),
V2 = structure(c(7L, 6L, 8L, 1L, 2L, 5L, 3L, 4L), .Label = c("",
"1000", "150", "25", "300", "Budget", "Company A", "USD"), class = "factor"),
V3 = structure(c(7L, 6L, 8L, 1L, 2L, 5L, 3L, 4L), .Label = c("",
"1500", "175", "30", "400", "Actual", "Company B", "USD"), class = "factor"),
V4 = structure(c(7L, 6L, 8L, 1L, 3L, 5L, 2L, 4L), .Label = c("",
"185", "2000", "45", "500", "Budget", "Company C", "EUR"), class = "factor"),
V5 = structure(c(7L, 6L, 8L, 1L, 3L, 5L, 2L, 4L), .Label = c("",
"195", "2500", "50", "700", "Actual", "Company D", "EUR"), class = "factor")), .Names = c("V1",
"V2", "V3", "V4", "V5"), class = "data.frame", row.names = c(NA,
-8L))