首页 > 解决方案 > 解决在r中使用“row_to_names”后获取因子变量而不是整数的问题

问题描述

用于预测收益率的序列模型并将它们放入其他公式中以生成现金租金预测。

我想在数据框中的列中显示县名,在行中显示年份。

所以我有一个包含 3 个县名的向量,所有元素都来自其他数据框。我想将它们放在所有数据框中并命名列,因此我将它们提取出来。现在我只举一个例子。

ct_name <- c("Adams","Boone","Champaign")

然后我想将其与我预测的产量数据框表结合起来。

library(janitor)
table<- matrix(1:6,nrow = 2, ncol = 3, byrow = FALSE)
rownames(table) <- c("2015", "2016")
table <- rbind(ct_name, table)
table <- row_to_names(table, row_number = 1)
table <- data.frame(table)

矩阵中有整数。但是,使用后row_to_names(),这一切都变成了因素或逻辑。我怎么解决这个问题。我试过is.numeric() and is.integer()了,但都失败了,我需要它们是整数来进行计算!

我应该怎么做?感谢你们!

标签: rformatrownamejanitor

解决方案


尚不清楚为什么要使用rbind()将列名添加为表中的一行,然后用于row_to_names()创建列名。一旦您rbind()将字符向量转换为整数矩阵,它将强制矩阵中的所有数据为字符。Ronak 的回答似乎是一个很好的解决方案。


推荐阅读