使用read.table读取CSV文件会生成一个带引号的表

使用read.table读取CSV文件会生成一个带引号的表,r,csv,read.table,R,Csv,Read.table,我正在尝试使用read.table命令读取R中的csv文件,并且我在R中得到的表在每个条目周围都有双引号。问题是我不能用这些带引号的条目来做数学运算 这是我的读取命令: exprs_data <- as.matrix(read.table("Test1.csv", sep= ",",header=TRUE,row.names=1,as.is=TRUE))## 为什么数字周围有引号??我以前从未在R遇到过这个问题。有人能帮我在R中导入这个csv文件吗?引号表示矩阵中的值是字符串而

我正在尝试使用
read.table
命令读取R中的csv文件,并且我在R中得到的表在每个条目周围都有双引号。问题是我不能用这些带引号的条目来做数学运算

这是我的读取命令:

exprs_data <- as.matrix(read.table("Test1.csv",
     sep= ",",header=TRUE,row.names=1,as.is=TRUE))##

为什么数字周围有引号??我以前从未在R遇到过这个问题。有人能帮我在R中导入这个csv文件吗?

引号表示矩阵中的值是字符串而不是数字。在不知道csv文件是什么样子的情况下,我怀疑文件中的某些值不是有效的数字,通过转换为矩阵(您的
as.matrix
)语句,所有内容都转换为字符串,以符合矩阵的所需结构(需要是所有相同的数据类型)。我不完全确定为什么要进行矩阵转换,但可以使用
colClasses
参数在
read.table
中明确指定数据的类型。尝试此操作(假设所有列都被视为数字,否则在
colClasses
中为每列使用不同值的向量):


exprs\u data你能显示str(exprs\u data)
的结果吗?嗨,本,这是原始文件的str(exprs\u data)结果:chr[1:4,1:22]“NEW”“NEW”“NEW”“NEW”“NEW”“NEW”“m0122”“m0152”“m0257”“m0427”…-attr(*,“dimnames”)=列表2..$:chr[1:4]“m0122”“m0152”“m0257”“m0427”。$:chr[1:22]“注释”“注释2”“通用名称”“名称”…如果您将
省略为.matrix()
?强制使用任何非数字列的数据帧将为您提供字符矩阵(如您所得到的)。Ben,删除as.matrix可解决此问题。请看下面我的回答。谢谢你的帮助,谢谢你的提示。删除“as.matrix”可修复此问题。默认情况下,它在mt read命令中,因为“heatmap2”包需要一个数字矩阵。现在我读取文件,提取数字列并转换为矩阵。
ABC DEF XYZ 
m0122 " 854"    "1487"  "1855"
m0152 "  97"    " 159"  " 468"
m0257 " 157"    " 733"  "   6"
exprs_data <- read.table("Test1.csv", sep= ",", header=TRUE, 
                         row.names=1, colClasses = "numeric")