如何根据R

时间:2018-09-01 17:58:55

标签: r dataframe

我想根据R中给出的某些条件创建动态的列数:

说,我有一个名为x的数据框:

Data Needed
   3

输出y数据帧应如下所示:

 Month_1    Month_2   Month_3
    10        13        25

如果输入数据框中的条目为:

Data Needed
   6

输出应如下所示:

   Month_1   Month_2    Month_3  Month_4    Month_5  Month_6
     10        13         25       18         11      29

在这方面我需要一些帮助,因为我是R的新手。如果有人回复此线程,那将很棒。

1 个答案:

答案 0 :(得分:0)

请参见以下内容:

create_df <- function(df, filler = c(10, 13, 25, 18, 11, 29)) {
  as.data.frame(matrix(filler[1:df$DataNeeded], nrow = 1, dimnames = list(NULL, paste0("Month_", 1:df$DataNeeded))))
}


df <- data.frame(DataNeeded = 3)
#      DataNeeded
# 1          3
create_df(df)
# Month_1 Month_2 Month_3
# 1      10      13      25

df <- data.frame(DataNeeded = 6)
create_df(df)
# Month_1 Month_2 Month_3 Month_4 Month_5 Month_6
# 1      10      13      25      18      11      29

但是,如果您要为create_df> 6调用DataNeeded函数,则需要手动提供filler参数