[英]How to use cast in reshape package in r
嗨,我有一個這樣的數據框:
df <- data.frame(site = c('A','A','B','B','C','A','A'),
state = c('O','F','O','F','O','O','F'),
value = c(5,4,6,7,2,8,9))
看起來像這樣
> df
site state value
A O 5
A F 4
B O 6
B F 7
C O 2
A O 8
A F 9
我的目標輸出應該是
site F O
A 4 5
B 7 6
C NA 2
A 9 8
有人知道如何實現這一目標嗎?
我認為應該與R中的reshape2有關
提前致謝
嘗試:
df$id <- with(df, ave(1:nrow(df), site, state, FUN=seq_along))
library(reshape2)
dcast(df, site+id~state, value.var="value")[,-2]
# site F O
#1 A 4 5
#2 A 9 8
#3 B 7 6
#4 C NA 2
要么
library(tidyr)
library(dplyr)
df %>%
spread(state, value) %>%
arrange(id) %>%
select(-id)
# site F O
#1 A 4 5
#2 B 7 6
#3 C NA 2
#4 A 9 8
要么
reshape(df, idvar=c("site", "id"), timevar="state",direction="wide")[,-2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.