我想根据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的新手。如果有人回复此线程,那将很棒。
答案 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
参数