如何可视化R中的字符向量?

时间:2014-04-01 13:35:30

标签: r

我试图在一些数据上使用Boxplot,hist,density等函数可视化一些分析。问题是所有列都是字符向量。

以下是一个示例数据集https://docs.google.com/file/d/0B3cafW7J7xSfNmhJQzh3SF9VYms/edit

以下是我尝试过的错误:

str(x$Accident_Severity)
Factor w/ 3 levels "fatal","serious",..: 3 3 3 2 3 3 3 2 3 3 ...
x$color[x$Accident_Severity=="fatal"]<-red
#Error: object 'red' not found
x$color[x$Accident_Severity=="fatal"]<-"red"
x$color[x$Accident_Severity=="serious"]<-"blue"
x$color[x$Accident_Severity=="slight"]<-"green"
dotchart(x$Weather_Conditions,labels=row.names(x$Accident_Severity),cex=.7,groups= x$Accident_Severity,
+          main="No. of acc",
+          xlab="weather", gcolor="black", color=x$color)
#Error in dotchart(x$Weather_Conditions, labels = row.names(x$Accident_Severity),  : 'x' must be a numeric vector or matrix

1 个答案:

答案 0 :(得分:0)

plot(x$Accident_Severity)将为您提供说明分布的方框图。或pie(table(x$Accident_Severity))将制作一个饼图。你应该考虑你想要什么和有意义的东西 - 例如,有些作弊你可以制作一个具有正态分布密度线的直方图,但那是没有意义的。

修改

如果您想使用densityhist,那么这些是连续变量的定义(请参阅维基百科的[probability density function][1]histogram)。因此,唯一的方法是将您的角色向量转换为可以有意义地视为连续变量的东西。文本字符串的长度(字符数)是自然数字;因素水平&#34;微小&#34;,&#34;小&#34;,&#34;常规&#34;和&#34;巨大&#34;是有序的,但在某些情况下(例如,如果有很多层次,或者它可以被认为是一个&#34;多元化的&#34;但是自然连续的变量而你只是想把图片作为一个例子)它可能是有意义的对待它数字/连续 - 取决于你想要达到的目标。

在因子上使用unclass会将其转换为数字 - 结果是否有意义取决于您的关卡排序方式(使用levels检查)。