我们可以在select中使用matches。data.frame(`a-b` = 1, c = 2, check.names = FALSE) %>% select(matches('-')) # a-b # 1 1
names(df)<-x
来分配名称,这样可以绕过默认检查。请尝试改用names(df)<-make.names(x)
。 - MrFlickdata.table
中的fread
函数?尝试一下fread("a-b, c\n 1,2",header=TRUE)
。 - Frank