运维开发网

R:用paste()定义列名

运维开发网 https://www.qedev.com 2020-04-28 14:48 出处:网络 作者:运维开发网整理
问题很简单,但我找不到解决方案. 我想创建一个新的数据框,用paste0定义列的名称. 理想情况下,我想做这样的事情(哪些不起作用). mydataframe <- data.frame(id = 1, paste0('Here_','my_','column_','name') = 'foo') # Error: unexpected '='
问题很简单,但我找不到解决方案.

我想创建一个新的数据框,用paste0定义列的名称.

理想情况下,我想做这样的事情(哪些不起作用).

mydataframe <- data.frame(id = 1,
                          paste0('Here_','my_','column_','name') = 'foo')
# Error: unexpected '=' in:
#   "mydataframe <- data.frame(id = 1,
#                           paste0('Here_','my_','column_','name') ="

另外,为什么不起作用?

Data.frame是一个函数,因此接受参数.这些参数不能是其他函数.例如,您无法定义函数,如fn< - function(paste0('Hi_','how_are_you')= x){x}. R就是这样不行. 但是,您仍然可以在事后动态更改列名:

df <- data.frame(1, 'foo')
names(df) <- c('id', paste0('Here_','my_','column_','name'))

那应该做你想要的.

奖励:您可以按如下方式简化粘贴:粘贴(‘此处’,’我的’,’列’,’名称’,sep =’_’).

0

精彩评论

暂无评论...
验证码 换一张
取 消