根据名称变量创建data.frame的函数

Posted

技术标签:

【中文标题】根据名称变量创建data.frame的函数【英文标题】:Function to create a data.frame according to names variables 【发布时间】:2013-11-16 09:17:24 【问题描述】:

我正在尝试构建一个函数,该函数创建一个仅包含 0 的 data.frame,其中两个变量指示行名和​​列名(同时它还指示数据框的大小)

> mycolnames = c('a','b','c')
> myrownames = c('e','f')

对于这种特殊情况,我的 data.frame 应该是:

df = data.frame(a=rep(0,2), b=rep(0,2), c=rep(0,2))
rownames(df) = myrownames

【问题讨论】:

【参考方案1】:

使用matrix 并将其包装在data.frame 中(如果您确实需要data.frame 作为输出)。

data.frame(matrix(0, ncol = length(mycolnames), 
           nrow = length(myrownames), 
           dimnames = list(myrownames, mycolnames)))
#   a b c
# e 0 0 0
# f 0 0 0

【讨论】:

以上是关于根据名称变量创建data.frame的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何根据具有名称类型的变量在 R 中过滤和计数

根据 R 列中的部分匹配创建新变量

R If then do - 如何根据条件创建变量

是否可以编写一个函数来从 data.frame 对象创建栅格文件?

根据 R 中的一系列分类变量重新编码数值变量

基于存储为R w / dplyr mutate()中的向量的列索引连接data.frame字符列?