2017-10-08 59 views
-3

所以我得到标题是可怕的和通用的。我不知道如何简洁地描述我想要做的事情。根据R中存储的行在现有数据框中的数据创建一个数据帧

我在R有2列数据帧,列A有数据值,列B有数据,现在已经分级(与A列相关的年份,现在是基于年份范围的bin标签)。

我需要生成一个新的数据框,它使用bin标签作为列,相关数据值作为行条目,最好是排序的,用'NA'填充以防止列长度不同。

的样本数据:

df <- data.frame(values=c(1,NA,3,NA,5:6,7:9), 
       bins=rep(c("yr1_yr2","yr2_yr3","yr3_yr4"),each=3)) 

解决方案编辑:所以很多实验后,我能够用“cut_width”功能从GGPLOT2我的数据切成箱,然后做什么,我想用我的数据将其放在分布图中。 谢谢大家的努力,再次抱歉,模糊的问题和缺乏样本数据。

+0

你可以用'库(data.table); dcast(setDT( dat),rowid(标签)〜label,value.var ='year')' – akrun

+0

也许提供您的预期输出? – useR

回答

0

不太清楚,如果这是越来越接近你想要的...

library(tidyverse) reshape2::melt(df, id.vars='bins', measure.vars='values')

回报

bins variable value 
1 yr1_yr2 values  1 
2 yr1_yr2 values NA 
3 yr1_yr2 values  3 
4 yr2_yr3 values NA 
5 yr2_yr3 values  5 
6 yr2_yr3 values  6 
7 yr3_yr4 values  7 
8 yr3_yr4 values  8 
9 yr3_yr4 values  9 
相关问题