我想转换一个数据帧,例如
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”,但都没有成功。
感激。
答案 0 :(得分:1)
您可以从group_split()
包中使用dplyr
:
df_to_list <- A_dataframe %>%
dplyr::group_split(area)
names(df_to_list) <- c("a", "b", "c")
但是,我不确定您所说的“三维”到底是什么意思。