我正在寻找一种在某些条件下使用dplyr或其他程序包来复制行并通过删除R上的某些列的方法。
我有一张像这样的桌子:
Ring Date_d7 Date_d13 Info1 Info2
A 10/05 15/05 2 8
B 12/05 17/05 3 4
我想获得这个:
Ring Stage Date Info1 Info2
A d7 10/05 2 8
A d13 15/05 2 8
B d7 12/05 3 4
B d13 17/05 3 4
很抱歉,我不知道如何制作桌子,因此阅读起来不是很好。 也可能已经有一个答案,但我找不到,我正在寻找一种方法来与dplyr安排我的桌子,但到目前为止没有成功。 预先感谢您的帮助!
答案 0 :(得分:0)
尝试一下……我知道有点怪异,但它可以工作。
# Create dummmy dataframe
Ring <- c('A','B'); Date_d7 <- c('10/05','12/05'); Date_d13 <- c('15/05','17/05'); Info1 <- c(2,3); Info2 <- c(8,4); df <- data.frame(Ring,Date_d7,Date_d13, Info1, Info2)
# Add future headers
df$stage7 <- 'd7'; df$stage13 <- 'd13'
# Split table
df1 <- subset(df, select = c(Ring, stage7, Date_d7, Info1, Info2)); colnames(df1)[2] <- 'Stage'; colnames(df1)[3] <- 'Date';
df2 <- subset(df, select = c(Ring, stage13, Date_d13, Info1, Info2)); colnames(df2)[2] <- 'Stage'; colnames(df2)[3] <- 'Date';
# Append for final dataframe
df_final <- rbind(df1, df2)