使用前一个数据框的列内容生成数据框

时间:2018-08-29 10:10:13

标签: r dataframe dplyr

与其他有关如何生成空数据框的问题不同。我的观点是使用其他数据框中的列值来获取一个数据框。

我有一个这样的数据框。

df1 <- data.frame(name=c("reference","result","allowed"),
                  value=c("m12","j6","k17"))


R> df1
       name value
1 reference   m12
2    result    j6
3   allowed   k17

在脚本中,我还需要生成一个空的数据框,其名称必须是前一个的第一列内容,并用NA值填充。两个数据帧的名称和内容都是动态生成的,因此我事先不知道。

我已经找到了解决方案,但是我的直觉告诉我这很脏,必须有更好的方法

df2 <- data.frame(header1=(df1$name),header2=NA) %>%
       t() %>%
       magrittr::set_colnames(df2[1, ]) %>%
       as.data.frame() %>%
       dplyr::filter(reference=="inexistent_value")

df2
[1] reference result    allowed  
<0 rows> (or 0-length row.names)

0 个答案:

没有答案