R数据框中的列名是否可以为空?
我使用以下代码在R中创建一个数据帧R数据框中的列名是否可以为空?,r,tidyverse,R,Tidyverse,我使用以下代码在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','-','+') dat
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)
我假设这意味着数据帧中的列名不能为空。想知道有没有解决办法?我希望列名为空,因为我正在使用此数据框使用kableExtra创建一个表,并且我希望我的表中的列名为空如果要将列“d”重新指定给,请将 这些是非标准列名,因此每次都会被反引号引用 OP代码中的错误不是特定于重命名的。它可以像在控制台上打印反引号一样复制
``
错误:尝试使用零长度变量名
根据colnames
对于数据帧,行名称的值应该是非重复和非缺失名称的字符向量,这是强制的,对于colnames,字符向量最好是唯一的语法有效名称。在这两种情况下,值都将由as.character强制执行,设置colnames将行名称转换为character
只要使用base R就可以了
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','-','+')
df <- data.frame(d,s,sr,lr)
colnames(df)[1] <-""
我发现不可能在R数据框中为列创建空名称,但是我只需要在从数据框创建的实际表中将列名设置为空。所以我做了下面的事情
library(kableExtra)
library(tidyverse)
library(kableExtra)
sr <- c('+','+','-','+')
lr <- c('+','Neutral','-','+')
d <- c('GDP Response to Positive','','CPI Response to Positive','')
s <- c('AS Shock','AD Shock','AS Shock','AD Shock')
data.frame(d,s,sr,lr) %>%
kable(col.names = c('','','Short Run','Long Run'))
现在,我的表中的前两列有空名称也许您可以尝试下面的setNames+replace
df <- data.frame(d, s, sr, lr)
setNames(df, replace(names(df), names(df) == "d", ""))
谢谢@IanCampbell,我找到了一个解决问题的方法,所以我将把它发布在这里
library(kableExtra)
library(tidyverse)
library(kableExtra)
sr <- c('+','+','-','+')
lr <- c('+','Neutral','-','+')
d <- c('GDP Response to Positive','','CPI Response to Positive','')
s <- c('AS Shock','AD Shock','AS Shock','AD Shock')
data.frame(d,s,sr,lr) %>%
kable(col.names = c('','','Short Run','Long Run'))
df <- data.frame(d, s, sr, lr)
setNames(df, replace(names(df), names(df) == "d", ""))
s sr lr
1 GDP Response to Positive AS Shock + +
2 AD Shock + Neutral
3 CPI Response to Positive AS Shock - -
4 AD Shock + +