导入包含R中的字符串和浮点数的邻接矩阵(csv)

时间:2015-08-07 19:29:13

标签: r csv matrix ggplot2

我有一个这样的共现邻接矩阵: https://dl.dropboxusercontent.com/u/73950/matrix_added_cats.csv

行和列可能包含带有特殊字符的字符串(“(”,“ - ”,“”等)

当我将此数据导入R以使用ggplot2对其进行可视化时,我这样做:

myData <- read.csv("/matrix_added_cats.csv")

返回:

                Name  NGO Gov..institutions Industry..farming. Industry..mining. Academia.research Aboriginal.groups
1                NGO 0.00              0.00                  0              0.00              0.01              0.00
2  Gov. institutions 0.00              0.01                  0              0.04              0.03              0.01
3 Industry (farming) 0.00              0.00                  0              0.00              0.00              0.00
4  Industry (mining) 0.00              0.04                  0              0.10              0.25              0.07
5  Academia/research 0.01              0.03                  0              0.25              0.36              0.10
6  Aboriginal groups 0.00              0.01                  0              0.07              0.10              0.02

我们看到包含浮点值的列的名称与以前不一样,正确,字符串。我认为,这导致了ggplot2可视化中的几个问题:

library(reshape)
dat <- melt(myData)
myPalette <- colorRampPalette(rev(brewer.pal(9, "Spectral")), space="Lab")

zp1 <- ggplot(dat,aes(x = variable, y = Name, fill = value))
zp1 <- zp1 + geom_tile()
zp1 <- zp1 + scale_fill_gradientn(colours = myPalette(100),trans = "reverse")
zp1 <- zp1 + scale_x_discrete(expand = c(0, 0))
zp1 <- zp1 + scale_y_discrete(expand = c(0, 0))
zp1 <- zp1 + coord_equal()
zp1 <- zp1 + theme_bw() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
print(zp1)

enter image description here

1)为了使共生矩阵有意义,行和列应该处于相同的顺序(以便相同的行/列元素在对角线上相遇),但由于某种原因,Ggplot2以不同的方式对它们进行排序。可能是因为导入后行和列之间的字符串不同吗?

2)特殊字符被“..”取代,看起来非常糟糕。

有没有办法解决这些问题?

1 个答案:

答案 0 :(得分:2)

您可以使用check.names = FALSE中的参数read.csv来禁止替换列名中的特殊字符。

myData <- read.csv("/matrix_added_cats.csv", check.names = FALSE)

names(myData)
# [1] "Name"               "NGO"                "Gov. institutions"  "Industry (farming)"
# [5] "Industry (mining)"  "Academia/research"  "Aboriginal groups"