如何将str转换为int?

时间:2014-03-07 16:14:51

标签: r

我尝试在R中输入数据,但我不知道如何在下面的脚本中将str转换为int。

>countsTable <- read.table("targets.txt")

>matrixTable <- as.matrix(countsTable)

[1,] "hsa-miR-548ax"      "0"       "1"      
[2,] "hsa-miR-548f"       "0"       "1"      
[3,] "hsa-miR-548g-3p"    "0"       "1"      
[4,] "hsa-miR-5589-3p"    "0"       "1"      
[5,] "hsa-miR-5698"       "0"       "1"      
[6,] "hsa-miR-592"        "0"       "1"      
[7,] "hsa-miR-6129"       "0"       "1"      
[8,] "hsa-miR-658"        "0"       "1" 

> normLimma <- normalizeBetweenArrays(matrixTable,method="quantile")

Error in rowMeans(S) : 'x' must be numeric

2 个答案:

答案 0 :(得分:2)

使用as.numeric()

快速谷歌搜索提供了一些docs

答案 1 :(得分:2)

read.table返回一个数据框(根据文档),这与矩阵不同。

我确信你知道,你的数据有三列,只有第二列是数字。当您将数据框从read.table转换为带as.matrix的矩阵时,R会将所有内容强制转换为单一类型。

这是因为与数据帧不同,矩阵只能保存单一类型的数据。

你可能想要做的是:

matrixTable <- as.matrix(countsTable[,-1])

删除字符列。

如果您想保留矩阵中的第一列数据,您可能希望将它们存储为行名称:

rownames(matrixTable) <- countsTable[,1]