[英]Dataframe reshape/transpose using dplyr
您可以在tidyr
包中使用spread()
函數:
設置軟件包和數據:
library(dplyr)
library(tidyr)
df=data.frame(
id=c(1,1,1,1,1,2,2),
age=c(3,3,3,3,3,51,51),
sex=c('f','f','f','f','f','m','m'),
type=c('a','a','a','b','b','a','a'),
tablet=c('t1','t2','t3','t1','t5','t3','t10'),
level=c(1,2,3,1,4,2,3),
status=c('n','n','n','n','n','y','y')
)
使用group_by()
通過ID和類型獲得結果。
使用spread()
將數據與包含列名鍵的tablet
列和包含值的level
列進行轉置。 默認情況下, spread()
將使用NA
填充空白。
使用select()
將列重新排列為所需的格式:
df %>%
group_by(id,type) %>%
spread(tablet, level) %>%
select(id,age,sex,type,t1,t2,t3,t5,t10,status)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.