作为生信菜鸟,某天运行代码,出现如下错误:
运行如图代码出现错误。明明跟着老师来,为啥会出错呢?
百度:
有个解答如下:
R语言&Python GEO DataSets多个Series进行差异基因表达分析以及导入Excel到R的问题
核心代码如下:
m=as.matrix(exp_matrix[, 1])
v=as.vector(m)
exp_matrix<-exp_matrix[, -1]
row.names(exp_matrix) <- v
套用进去,输入自己数据代码,可是结果不如人意。出现结果很尴尬。结果如图:
原始图是这样的:
需要达到的效果是这样的:
复杂,作为菜鸟的我没看懂。里面的向量,矩阵,略知一二,不是很懂。
再次翻看老师之前的代码,仔细查看区别在哪里。
问题就出现在红色的框框中
于是我class一下自己的数据类型。
一顿操作猛如虎,最终成功。
> row.names(expr_df) <- expr_df[, 1]
Error in `.rowNamesDF<-`(x, value = value) : 'row.names'的长度不对
> class(expr_df)
[1] "data.table" "data.frame"
> expr_df <- as.data.frame(expr_df)
> class(expr_df)
[1] "data.frame"
> row.names(expr_df) <- expr_df[, 1]
> expr_df <- expr_df[, -1]
> View(expr_df)
最终的效果图也就是这个啦:
总结:
①勤用class
②代码最好找到完整版本,不要瞎弄。
小问题花费了时长约1h。