将字符矩阵转换为数字矩阵,以避免强制引入的NA

时间:2014-02-24 08:51:09

标签: r

我有一个59(列)乘32514(行)矩阵。大多数数据是character,矩阵(子集)的结构如下:

Event Time  Receipt Time    Device      Logger     Version     Device Vendor    
2013/09/30  2013/09/30  10.6.10.22   Events Local     0        Microsoft Window

我已使用R将数据存储在矩阵中进行处理。我正在尝试使用Kmeans进行群集,但我收到以下错误:

Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In kmeans(Data1, 5, iter.max = 10) : NAs introduced by coercion  

由于我的数据采用字符格式,因此会生成错误NAs introduced by coercion。我试图使用以下方法将数据转换为数字形式,但仍然得到相同的错误。

Data1 <- as.numeric(as.character(Data))

Data1 <- as.matrix(sapply(Data, as.numeric))  

Data1 <- matrix(as.numeric(unlist(Data)),nrow=nrow(Data)) 

我还尝试逐列将字符转换为数字,但所有数据都转换为NA

将数据转换为数字的正确方法是什么?

0 个答案:

没有答案