从列表中包含的字符串命名 df 列
Posted
技术标签:
【中文标题】从列表中包含的字符串命名 df 列【英文标题】:name a df column from a character string contained in a list 【发布时间】:2017-12-06 05:42:39 【问题描述】:如果我有示例列表Names
Names <- list(A = c("one", "two", "three"),
B = c("three", "four", "five"))
是否可以使用列表中包含的字符串之一创建列标题?例如,下面的代码试图通过索引Names[[1]][1]
来创建一个名为One
的列,但显然不起作用。
data.frame(Names[[1]][1] = rep(5, 5))
任何建议将不胜感激。我试图用as.character()
包装,但仍在寻找解决方案。真实数据在循环中实现,需要Names
索引。期望的结果如下所示。
data.frame(One = rep(5, 5))
【问题讨论】:
也许与这个有关。setNames(data.frame(rep(5, 5)), Names[[1]][1])
??
似乎运行良好,可以扩展为多个新列。好的。作为答案发布...?
起初,我以为这是重复的,但找不到合适的问题,因此回答它。
***.com/questions/30083351/… 或 ***.com/questions/7531868/… 的可能重复
【参考方案1】:
我们可以使用setnames
将变量中的列名分配给数据框:
setNames(data.frame(rep(5, 5)), Names[[1]][1])
# one
#1 5
#2 5
#3 5
#4 5
#5 5
当然也可以用于多列。
【讨论】:
以上是关于从列表中包含的字符串命名 df 列的主要内容,如果未能解决你的问题,请参考以下文章