如何在R中将“字符”类转换为“数字”类

时间:2018-06-27 19:28:18

标签: r data.table

我正在运行以下代码以按INV_ITEM_ID列进行汇总。

temptable <- temptable[, lapply(.SD, sum), by = INV_ITEM_ID,
                         .SDcols = c("Ext Sale", "Ext Total Cost", "CE100", 
                          "CE110","CE120","QTY_SOLD","PACKSLIP_WHSL")]

问题在于INV_ITEM_ID是字符类型。我需要将其转换为数字类型,以便正确地汇总数据。

我该如何去做。目前,它进行了汇总,但没有留下不同的值。

2 个答案:

答案 0 :(得分:0)

我认为这是对此处回答的问题的一种扭曲: Converting a factor to numeric without losing information R (as.numeric() doesn't seem to work)

您可以用以下调用将INV_ITEM_ID包装起来:as.numeric(as.character(INV_ITEM_ID))吗?

答案 1 :(得分:0)

我自己Reshape2遇到了这个问题。首先,确保变量确实是一个字符:

is.character(your_data$INV_ITEM_ID)

这应该返回TRUE

如果是,则:

your_data$INV_ITEM_ID <- as.numeric(your_data$INV_ITEM_ID)

我在sapply()上将值显示为一种数据类型时遇到问题,但是当我在is.numeric()上进行测试时,它却被另一种数据类型所测试。