c()函数将我的值从字符串更改为数字

时间:2019-02-12 22:57:11

标签: r

我的数据如下:

Row Type1 Type2 Type3
1   Cat   Dog    0
2   0     Dog    0
3   Cat   0      Hamster
4   0     0      0
5   Cat   0      Hamster

我想做的是创建一个条形图,以使每一列在条形图上都有其自己的列,但省略“ 0”列:

plotData <- table(c(myData$Type1, myData$Type2, myData$Type3), exclude = "0")
    barplot(plotData,
            main = "Pets",
            xlab = "Pet Type",
            cex.names = 0.8,
            col = "#00DD00")

问题是当我使用c()函数时,它将我的值更改为1s或2s。 示例:

c(myData$Type1, myData$Type2, myData$Type3)

将打印:

2 1 2 1 2 2 2 1 1 1 1 1 2 1 2

我想要的结果:

desired result

1 个答案:

答案 0 :(得分:0)

根据@Rich Scriven的评论,c()删除了问题所在的属性。 列出和取消列出值可以帮助我解决问题。

plotData <- table(unlist(
          list(
            myData$Type1, 
            myData$Type2
            myData$Type3
          )
        ), exclude = "0")
        barplot(
          plotData,
          main = "My Data",
          xlab = "Pets",
          cex.names = 0.8,
          col = "#00DD00"
        )