关于类型转换的R编程

时间:2016-05-11 04:46:38

标签: r types

我正在尝试转换数据类型,以便正确绘制数据。

在我看来,我的代码有点复杂,无效。

因此,我想就更好的代码提出一些建议。

以下是我的代码。

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

1 个答案:

答案 0 :(得分:1)

您是否尝试过以下代码:

pos_temp_temp<-as.numeric(as.character(pos_temp))

一般情况下,你应尽量避免使用循环。