2016-05-11 23 views
1

正しくデータをプロットするためにデータ型を変換しようとしています。R型変換に関するプログラミング

私の意見では、私のコードは少し複雑で効果的ではありません。

したがって、私はより良いコードのためのいくつかのアドバイスをお願いしたいと思います。

以下は私のコードです。

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 - > character - >数値)などの不要な手続きが含まれていると思うからです。

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を返しました。

しかし、私はこの問題のより良い解決策を得たいと考えています。私はあなたの答えを楽しみにしています :あなたはいつでもpossbileループを回避しようとする必要があり、一般的に

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

:D

+0

コードが少し複雑で効果的でない場合、それは1つの問題です。あなたの助けを求めるなら、あなたの質問を洗練してください。 –

+0

[再現可能な例]を含めてください(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610)。 – Jaap

答えて

1

は、次のコードを試してみました。

+0

私は試しましたが、NAを返しました。 – sclee1

+0

データの例を挙げることはできますか? –

関連する問題