私は.score
列の変換を行う必要があるdata.frameのリストを持っています。しかし、私はこの変換のためにヘルパー関数を実装しました。私は.helperFunc
をdata.frameの入力リストに呼び出した後、第1、第3のdata.frameに奇妙なpvalueフォーマットがあります。むしろ大きな10進数を単純な科学的数に正規化する方法は?これを簡単に行う方法を教えてもらえますか?Rでかなり長い10進数を正規化する方法は?
おもちゃデータ:私はこの、唯一の二data.frame」フォーマットが必要とされるが起こるかわからない
> .savedDF
$bar
.start .stop .score p.value
1 12 14 5 0.000010000000000000000817488438054070343241619411855936050415039062500
2 21 29 69 0.000000000000000000000000000000000000000000000000000000000000000000001
3 37 45 14 0.000000000000009999999999999999990459020882127560980734415352344512939
$cat
.start .stop .score p.value
1 18 27 15 1e-15
2 42 46 5 1e-05
3 18 27 15 1e-15
4 42 46 5 1e-05
5 81 114 134 1e-134
$foo
.start .stop .score p.value
1 3 26 22 0.0000000000000000000001
2 3 26 22 0.0000000000000000000001
3 33 42 6 0.0000010000000000000000
4 3 26 22 0.0000000000000000000001
5 33 42 6 0.0000010000000000000000
6 91 107 7 0.0000001000000000000000
:
savedDF <- list(
bar = data.frame(.start=c(12,21,37), .stop=c(14,29,45), .score=c(5,69,14)),
cat = data.frame(.start=c(18,42,18,42,81), .stop=c(27,46,27,46,114), .score=c(15,5,15,5,134)),
foo = data.frame(.start=c(3,3,33,3,33,91), .stop=c(26,26,42,26,42,107), .score=c(22,22,6,22,6,7))
)
私はこの奇妙な出力を得ました。 p.value列をできるだけシンプルに正規化するにはどうすればよいですか?
最後の欄cat
は、希望の形式、またはより正確ではあるが単純な科学的数字も私に合っています。
予期せず長い10進数に対してこの正規化を行うにはどうすればよいですか?希望の出力を得るにはどうすればいいですか?何か案が ?ありがとうございます
データの値を変更しないでください。むしろ、印刷オプションに依存して値を科学表記で表示する必要があります。 'getOption(x =" scipen ")'は何を返しますか? – Gregor
うん、私はあなたの結果のようなRの変更されていないバージョンでは得られません。私はすべての1e - 05 1e - 69などのような素晴らしい科学的価値を得る。 – thelatemail
@ Jerry.Shad - 基本的に、コードを実行して表示している内容を複製することはできません。リストのすべての部分に対して '.savedDF $ cat'のように表示されます。グレゴールが提案したオプションを見てみることをお勧めします。問題の原因となっている設定を編集した可能性が最も高いからです。 – thelatemail