我正在尝试转换数据类型,以便正确绘制数据。
在我看来,我的代码有点复杂,无效。
因此,我想就更好的代码提出一些建议。
以下是我的代码。
pos <- as.matrix(read.delim("urc_pos",header=FALSE))
neg <- as.matrix(read.delim("urc_neg",header=FALSE))
rownames(pos) <- 1:nrow(pos)
pos_temp <- cbind("pos",pos[,3:42])
pos_temp_temp <- as.data.frame(pos_temp)
for(i in 2:41)
{
pos_temp_temp[,i] <- as.numeric(as.character(pos_temp_temp[,i]))
}
urc_pos和urc_neg是我的数据集。
例如,当我输入“is.numeric(pos [3,3])”时,它返回false,因为它是一个向量。因此,有必要将其数据类型转换为数字类型。之后,我分配了行号,并在第一列添加了标签“pos”。
以下是将矢量类型转换为数字类型的代码。 我认为这有点复杂而且不利。因为我认为for循环中涉及不必要的程序,包括转换数据类型(data.frame - &gt; character-&gt; numeric)。
pos_temp_temp <- as.data.frame(pos_temp)
for(i in 2:41)
{
pos_temp_temp[,i] <- as.numeric(as.character(pos_temp_temp[,i]))
}
无论如何,我得到了我的意图。当我输入“is.numeric(pos_temp_temp [3,3])”时,它返回TRUE。
但是,我想为这些问题找到更好的解决方案。 我期待着你的回答:D
答案 0 :(得分:1)
您是否尝试过以下代码:
pos_temp_temp<-as.numeric(as.character(pos_temp))
一般情况下,你应尽量避免使用循环。