R:将数据框转换为三维数组?

时间:2019-07-31 09:59:46

标签: arrays r dataframe

我想转换一个数据帧,例如

day <- c(1,1,1,2,2,2,3,3,3)
area <-c("A","B","C")
area <- rep(area,3)
measure1 <- c(99,97,95,102,105,98,103,98,90)
measure2 <- c(3,4,78,2,5,9,7,4,3)
A_dataframe <-data.frame(
  day,area,measure1,measure2
)

分为三个三维数组,其中第一维为Area:“ A”,“ B”,“ C”,而第二维和第3维包含day作为行,measure1&measure2作为列,分别对应于其区域“ A”,“ B”或“ C”?

我熟悉Matlab中的单元数组,因此想知道R是否可以执行类似的操作。

我尝试过“融化”和“ dcast”,但都没有成功。

感激。

1 个答案:

答案 0 :(得分:1)

您可以从group_split()包中使用dplyr

df_to_list <- A_dataframe %>% 
  dplyr::group_split(area)

names(df_to_list) <- c("a", "b", "c")

但是,我不确定您所说的“三维”到底是什么意思。