ggplot2中的传奇问题

时间:2014-08-13 10:56:09

标签: r

当从.csv文件中读取R时,是否有人知道如何删除R放在变量名称中的点(使用空格的位置)。

我想重命名它们,以便ggplot生成的图例调用的颜色类似于Variable Name而不是Variable.Name。

我只是使用一个简单的:

  mydata<- read.csv("./user/data.csv", header=TRUE)

1 个答案:

答案 0 :(得分:0)

在读入数据时使用check.names参数:

> read.csv(text ="a a a,b b b,c c c
1,2,3
4,5,6", header = TRUE)
  a.a.a b.b.b c.c.c
1     1     2     3
2     4     5     6
> 
> read.csv(text ="a a a,b b b,c c c
1,2,3
4,5,6", header = TRUE, check.names=FALSE)
  a a a b b b c c c
1     1     2     3
2     4     5     6

或者,正如@Roland在评论中建议的那样,您可以在使用gsub加载数据后修改名称。假设d是上面的第一个数据框:

> names(d) <- gsub(".", " ", names(d), fixed=TRUE)
> names(d)
[1] "a a a" "b b b" "c c c"

请注意,您必须使用fixed=TRUE,否则"."被解释为正则表达式,这恰好意味着任何字符而不是句点/点。

但由于这些变量名称不再是有效的R变量名称,因此稍后您需要通过使用适当的引号来引用它们。一些例子,所有这些都是等价的:

qplot(d[,"a a a"], d[,"b b b"])
qplot(d$"a a a", d$"b b b")
qplot(d$`a a a`, d$`b b b`)