在R列名中使用标点符号 问题:

在R列名中使用标点符号 问题:,r,string,dataframe,R,String,Dataframe,我(试图)在R中构造一个data.frame,其中列名有时包括标点字符,如“?” 但是,R会将其转换为“”,例如: 代码 两者都返回 t a.a bee 1 1 200 2 2 300 3 3 400 我也无法逃避工作(我想避免它,因为我有很多没有特殊字符的字符串) 问题: 我希望在我的列名中包含问号和点等字符(列包含正则表达式搜索的结果);至少,它们应该保持不同 有什么办法吗 我觉得这可能是以前提过的,但在这里找不到;谢谢你的指点。谢谢 data.frame的列名应该是有

我(试图)在R中构造一个
data.frame
,其中列名有时包括标点字符,如“?”

但是,R会将其转换为“”,例如:

代码 两者都返回

t
  a.a bee
1   1 200
2   2 300
3   3 400
我也无法逃避工作(我想避免它,因为我有很多没有特殊字符的字符串)

问题: 我希望在我的列名中包含问号和点等字符(列包含正则表达式搜索的结果);至少,它们应该保持不同

  • 有什么办法吗

我觉得这可能是以前提过的,但在这里找不到;谢谢你的指点。谢谢

data.frame的列名应该是有效的变量名,用于支持非标准求值和公式接口的函数。
data.frame
函数通过
make.names()
函数为您“清理”名称来强制执行此要求。如果坚持使用“无效”名称,只需将
check.names=
参数设置为FALSE

data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400), check.names=FALSE)
#   a?a bee
# 1   1 200
# 2   2 300
# 3   3 400

data.frame的列名应该是有效的变量名,以便与支持非标准求值和公式接口的函数一起使用。
data.frame
函数通过
make.names()
函数为您“清理”名称来强制执行此要求。如果坚持使用“无效”名称,只需将
check.names=
参数设置为FALSE

data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400), check.names=FALSE)
#   a?a bee
# 1   1 200
# 2   2 300
# 3   3 400

我认为这个问题不同于潜在的重复,因为它谈论的是标点符号而不是空格,这是另一个问题的唯一焦点。例如,壶。杜普。在我的搜索中没有出现。我认为这个问题不同于潜在的重复,因为它谈论的是标点符号而不是空格,这是另一个问题的唯一焦点。例如,壶。杜普。在我的搜索中没有出现在这里。
data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400), check.names=FALSE)
#   a?a bee
# 1   1 200
# 2   2 300
# 3   3 400