【发布时间】:2020-05-14 12:02:13
【问题描述】:
我的数据是一个.xlsx 数据透视表。那里有几张纸,但我只需要一张来分析。在这张表上,我有一个看起来像这样的数据框
df <- data.frame(ind = c("ind1", "ind1", "ind1", "ind1",
"ind2", "ind2", "ind2", "ind2",
"ind3", "ind3", "ind3", "ind3",
"ind4", "ind4", "ind4", "ind4"),
shr = c(-0.23, 0, 0.12, 0.68,
-0.54, 0.80, 0.14, -0.23,
0.48, 0.94, -0.01, 0.31,
0.18, 0.11, 0.98, 0.05))
以及其他具有不同类型数据的列。我不需要它们,只有我在示例中介绍的这两个。所以,df 是:
df
# ind shr
#1 ind1 -0.23
#2 ind1 0.00
#3 ind1 0.12
#4 ind1 0.68
#5 ind2 -0.54
#6 ind2 0.80
#7 ind2 0.14
#8 ind2 -0.23
#9 ind3 0.48
#10 ind3 0.94
#11 ind3 -0.01
#12 ind3 0.31
#13 ind4 0.18
#14 ind4 0.11
#15 ind4 0.98
#16 ind4 0.05
我需要将此数据框转换为这种形式:
df
# shr
# ind1 -0.23 0.00 0.12 0.68
# ind2 -0.54 0.80 0.14 -0.23
# ind3 .....
# ind4 .....
或者,如果我的数据看起来像这样也会很方便:
df
# ind1 ind2 ind3 ind4
# -0.23 . .
# 0.00 . .
# 0.12 . .
# 0.68 . .
简而言之,我想让我的数据紧凑且便于进一步分析。主要困难是我的初始数据文件是.xlsx,具有不同的工作表和数据透视表。
(1) 如何从包含多个工作表的.xlsx 文件中提取数据?
(2) 如何获得理想的 df 结构?
【问题讨论】:
标签: r excel dataframe pivot extract