【问题标题】:Create dataframe column name or list element with a variable [duplicate]使用变量创建数据框列名或列表元素[重复]
【发布时间】:2018-09-29 18:38:25
【问题描述】:

创建一个data.frame或我可以写的列表

data.frame(yo=1:2, wesh=3:4)

  yo wesh
1  1    3
2  2    4

list(yo=1:2, wesh=3:4)

$yo
[1] 1 2

$wesh
[1] 3 4

但如果我写

i <- "yo"
data.frame(i=1:2, wesh=3:4)

   i wesh
1  1    3
2  2    4

list(i=1:2, wesh=3:4)
$i
[1] 1 2

$wesh
[1] 3 4

输出中的 i 不会更新为“yo”。如何让它成为可能?

【问题讨论】:

  • x

标签: r list dataframe


【解决方案1】:

原因是因为当你将它定义为data.frame()中的变量名时,它没有被评估。试试data.frame(i = i, wesh = 3:4) 看看有什么不同。但是,一种解决方法是使用setNames,即

setNames(data.frame(1:2, 3:4), c(i, 'wesh'))

#same for lists
#setNames(list(1:2, 3:4), c(i, 'wesh'))

给出,

   yo wesh
1  1    3
2  2    4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 2016-10-21
    相关资源
    最近更新 更多