現在、簡単な電流 - 電圧実験の結果を視覚化するためにggplot2を使用しようとしています。私はもちろん、1セットのデータに対して良い結果を達成することができました。ggplot2の物理実験からデータを整理する
しかし、私は(最小限のコードを参照してください)再帰的に以下の組織を得るためにRでI入力電流 - 電圧データセットの数を、持っている:
data.frame(cbind(batch(string list), sample(string list), dataset(data.frame list)))
編集:私のデータはテキストファイル名で保存されていますbatchname_samplenumber.txtには電圧と電流の列があります。
require(plyr)
require(ggplot2)
#VARIABLES
regex <- "([[:alnum:]_]+).([[:alpha:]]+)"
regex2 <- "G5_([[:alnum:]]+)_([[:alnum:]]+).([[:alpha:]]+)"
#FUNCTIONS
getJ <- function(list, k) llply(list, function(i) llply(i, function(i, indix) getElement(i,indix), indix = k))
#FILES
files <- list.files("Data/",full.names= T)
#NAMES FOR FILES
paths <- llply(llply(files, basename),function(i) regmatches(i,regexec(regex,i)))
paths2 <- llply(llply(files, basename),function(i) regmatches(i,regexec(regex2,i)))
names <- llply(llply(getJ(paths, 2)),unlist)
batches <- llply(llply(getJ(paths2, 2)),unlist)
samples <- llply(llply(getJ(paths2, 3)),unlist)
#SETS OF DATA, NAMED
sets <- llply(files,function(i) read.table(i,skip = 0, header = F))
names(sets) <- names
for (i in as.list(names)) names(sets[[i]]) <- c("voltage","current")
df<-data.frame(cbind(batches,samples,sets))
、最小限のデータを介して生成することができます:私はそれらをインポートするために使用するコードです
require(plyr)
batch <- list("A","A","B","B")
sample <- list(1,2,1,2)
set <- list(data.frame(voltage = runif(10), current = runif(10)),data.frame(voltage = runif(10), current = runif(10)),data.frame(voltage = runif(10), current = runif(10)),data.frame(voltage = runif(10), current = runif(10)))
df<-data.frame(cbind(batch,sample,set))
私の質問です:コードを使用してプロットすることであるとして、それの可能なデータを使用することです次のような(動作しません)?
ggplot(data, aes(x = dataset$current, y = dataset$voltage, colour = sample)) + facet_wrap(~batch)
より一般的なバージョンであろうが:(ダイヤモンド、車など)の統計データを離散とは対照的に、生の物理的データをhandelingのggplot2ことができますか?
「再帰的にRにデータを入力環境」のあなたの記述があります非常に不明。さらに、「統計データ」と「生の物理データ」の区別がどういうものであるかは不明です。データはデータです。適切に整理するのはあなた次第です。おそらく、ここのガイドライン[here](http://stackoverflow.com/q/5963269/324364)に従って、具体的で再現可能な例を提供するべきでしょう。 – joran
リストをdata.frame形式にしたいと思うかもしれません。 data.frame(batch = your.list [1]、sample = your.list [2]、your.list [3])でこれを行うことができます。いくつかのトレイル:do(your.list、rbind)、reshape、... –
あなたのコメントをいただきありがとうございます、私はそれはちょうど溶融とggplot2の周りに私の頭をラッピングの問題です確信しています。しかし、私は各ggplot2ダイヤモンドと車の例を見て、リンクされた変数を使って何も見つからなかった(電流の値が電圧の値と同じように)。したがって、私の質問です。私はジョランのコメントに続き、さらに詳しい情報を追加しました。再度、感謝します。 –