如何制作 R 中非数字列的直方图?

How to make a histogram of a non numeric column in R?

我有一个名为 mydata 的数据框,其中包含多列,其中一列是 Benefits,其中包含有关样本的信息,无论它们是 CB(完全响应)、ICB(中级)还是 NCB (完全没有反应)。 所以基本上 Benefit 列是一个具有三个值的向量:

Benefit <- c("CB" , "ICB" , "NCB")

我想根据其中每一个的数量制作一个histogram/barplot。所以基本上它不是数字列。我尝试通过以下代码解决此问题:

hist(as.numeric(metadata$Benefit))

也试过

barplot(metadata$Benefit)

显然没有奏效。 我想做的第二件事是找到同一数据框的 Age 列与 Benefit 列之间的关系,例如年轻患者是否会获得更多收益?有没有办法做到这一点? 谢谢!

您好,欢迎来到本网站:)

查找代码问题的一种好方法是一次只运行一个命令。

# lets create some data
metadata <- data.frame(Benefit = c("ICB", "CB", "CB", "NCB"))

现在命令 'as.numeric' 不适用于字符数据

as.numeric(metadata$Benefit) # returns NA's

相反,我们想要的是计算 Benefit 列的每个唯一值的实例数,我们使用 'table'

tabledata <- table(metadata$Benefit)

然后是我们要创建绘图的 barplot 函数

barplot(tabledata)