如何在R中创建具有指定列和行数的空数据帧?

如何在R中创建具有指定列和行数的空数据帧?,r,dataframe,R,Dataframe,我有两个数据帧,我想能够rbind在一起。它们具有相似的信息,但顺序不同,列名也不同,这是字符串、整数和实数的混合,因此矩阵不起作用 然后我需要做的是将其中一个数据帧(我们称之为new_df)转换为与另一个数据帧(我们称之为old_df)相同的结构 我想创建一个空数据帧,列结构为old_df,行数与new_df相同 我知道我可以用空的_df创建第一部分,如果我正确理解了这个问题,下面的hack将满足OP的要求。它通过直接设置row.names属性来创建行数。如果一个数据帧有行名,它必须有相应的行

我有两个数据帧,我想能够rbind在一起。它们具有相似的信息,但顺序不同,列名也不同,这是字符串、整数和实数的混合,因此矩阵不起作用

然后我需要做的是将其中一个数据帧(我们称之为new_df)转换为与另一个数据帧(我们称之为old_df)相同的结构

我想创建一个空数据帧,列结构为old_df,行数与new_df相同


我知道我可以用空的_df创建第一部分,如果我正确理解了这个问题,下面的hack将满足OP的要求。它通过直接设置row.names属性来创建行数。如果一个数据帧有行名,它必须有相应的行

empty_df <- old_df[0, ]
attr(empty_df, 'row.names') <- 1:nrow(new_df)

str(empty_df)
#'data.frame':  300 obs. of  5 variables:
# $ Sepal.Length: num 
# $ Sepal.Width : num 
# $ Petal.Length: num 
# $ Petal.Width : num 
# $ Species     : Factor w/ 3 levels "setosa","versicolor",..:

像这样的?如.data.framematrix、nrowdf、ncoldft这是一个关于空数据帧的y解决方案的帮助,而不是为什么需要这样一个对象的x问题。我的猜测是,您将遍历循环以分配行和列,而向量化方法可能可用。@Wimpel不幸的是,我无法使用矩阵进行初始化,因为我需要保留旧的_df数据帧的各种类。@Parfait我正试图初始化行数,因为我不想循环任何内容。我已经在问题中说明了为什么我需要rbind这两个数据帧。我很困惑。那么为什么需要一个空的数据帧呢?请给我们两个数据帧的样本。太好了!非常感谢。这正是我需要的。
set.seed(1234)

old_df <- iris
new_df <- rbind(iris, iris)
new_df <- new_df[, sample(ncol(new_df))]