r - R数据框中的列名可以为空吗?
问题描述
我正在使用以下代码在 R 中创建一个数据框
library(kableExtra)
library(tidyverse)
d <- c('GDP Response to Positive','','CPI Response to Positive','')
s <- c('AS Shock','AD Shock','AS Shock','AD Shock')
sr <- c('+','+','-','+')
lr <- c('+','Neutral','-','+')
data.frame(d,s,sr,lr) %>%
rename(``=d)
但是,当我尝试rename
在代码中运行该行时,出现以下错误
Error: attempt to use zero-length variable name
我假设这意味着数据框中的列名不能为空。想知道是否有任何解决方法?我希望列名为空,因为我正在使用此数据框创建一个表,kableExtra
并且我希望表中的列名为空
解决方案
如果我们想将列 'd' 重新分配给""
,请将""
library(dplyr)
data.frame(d, s, sr, lr) %>%
rename(`''` = d)
这些是非标准列名,因此每次都会通过反引号引用
OP 代码中的错误并非特定于rename
. 它可以像在控制台上打印反引号一样复制
``
错误:尝试使用零长度变量名
根据?colnames
对于数据框,rownames 的值应该是非重复和非缺失名称的字符向量(这是强制的),而 colnames 的值应该是(最好)唯一的语法有效名称的字符向量。在这两种情况下,值都将被 as.character 强制转换,设置 colnames 会将行名转换为字符。
推荐阅读
- python - CP-SAT 的天花板
- python - python json.dumps:无法忽略不可序列化的对象
- python - Tensorflow 线性回归预测返回 [nan]
- java - Camel Rest to dB Query,返回不正确的响应
- reactjs - 为调用 fs writeFile 的 Edit 函数编写单元测试
- sql - SQL:用 Cognos 生成的括号解释多个内连接
- java - node.js 中带有相对路径的 java 命令
- qml - 使用 MouseArea 更改 StackLayout 项
- ios - 如何使用 Daniel Gindi 的图表库在同一轴上拥有相同类型的图表(即 LineChart)?
- angular - 在终端中运行 ng server --open 命令时出现此错误“events.js 174 throw er; //未处理的'错误'事件”