如何在列名中为“R”中的数据框提供“/”?

时间:2014-11-18 14:35:35

标签: r

我希望给出一个" /" (反斜杠)数据框中的列名称。知道怎么样?

我试过无效,

tmp1 <- data.frame("Cost/Day"=1:10,"Days"=11:20)
tmp1

     Cost.Day Days
1         1   11
2         2   12
3         3   13
4         4   14
5         5   15
6         6   16
7         7   17
8         8   18
9         9   19
10       10   20

然后我尝试了这个,它有效。

tmp <- data.frame(1:10,11:20)
colnames(tmp) <- c("Cost/Day","Days")
tmp

     Cost/Day Days
1         1   11
2         2   12
3         3   13
4         4   14
5         5   15
6         6   16
7         7   17
8         8   18
9         9   19
10       10   20

我更喜欢在构建数据帧时给出名称。我试图逃避它,但它仍然无法正常工作。

tmp2 <- data.frame("Cost\\/Day"=1:10,"Days"=11:20)
tmp2 

1 个答案:

答案 0 :(得分:0)

您可以在check.names=FALSE中使用data.frame。默认情况下,它是TRUE。如果是TRUE,则函数make.names会更改colnames。即

  make.names('Cost/Day')
  #[1] "Cost.Day"

所以,试试

  dat <- data.frame("Cost/Day"=1:10,"Days"=11:20, check.names=FALSE)
  head(dat,2)
  #  Cost/Day Days
  #1        1   11
  #2        2   12

更改列名的data.frame函数中的特定行是

--------
if (check.names) 
    vnames <- make.names(vnames, unique = TRUE)
names(value) <- vnames
--------