1

100個あるサンプルCSVファイルを添付しましたが、

多数の列と上位 19 行をフィルタリングし、残りのデータを使用してグラフをプロットし、グラフをより使いやすい形式でエクスポートする必要があります。

これらのデータは Netlogo ビヘイビア スペースによって生成されたものであり、出力を直接視覚化する良い方法を見つけることができなかったので、各実験の後に得られるのは多くの csv ファイルです。

データ ファイル: https://www.dropbox.com/s/nj243qcs6sx6fu8/Rates.csv 出力例: https://www.dropbox.com/s/suomh0vwsfzisj4/SampleGraph.jpg

たとえば、太字の列は、プロットする必要がある列です。

x,y ,color,pen down?,x, y ,color,pen down?,x, y ,color,pen down?,x, y ,color,pen down?

ありがとう ;)

4

3 に答える 3

2

ファイルの命名構造を知らなければ、これでファイルが思いどおりにキャプチャされるかどうかわかりません。次のコードは、現在のディレクトリ内のすべての .csv ファイルを取得してプロットし、元の .csv と同じファイル名 (接尾辞を除く) を使用して、同じディレクトリ内にプロットの .png を作成します。

# get list of .csv files
files <- dir(".", pattern = "\\.csv", full.names = TRUE, ignore.case = TRUE)
# we'll use ggplot2 for plotting and reshape2 to get the data in shape
library(ggplot2)
library(reshape2)
# loop through the files
for (file in files) {
    # load the data, skipping the first 19 lines
    df <- read.csv(file, as.is=T, skip=19)
    # keep only the columns we want
    df <- df[,c(1,2,6,10,14)]
    # put the names back in 
    names(df) <- c('x','Age','Revenge','Homicide','Hunger')
    # convert to long format
    df <- melt(df, id=c('x'))
    # create the png nam
    name <- gsub(file, pattern='csv', replacement='png')
    # begin png output
    png(name, width=400, height=300)
    # plot
    p <- ggplot(df, aes(x=x, y=value, colour=variable)) +
            # line plot
            geom_line() +
            # use the black and white theme
            theme_bw() +
            xlab('x label') +
            ylab('y label')
    # we have to explicitly print to png
    print(p)
    # finish output to png
    dev.off()
}

Rates.csv からの出力プロットの例

于 2013-11-08T10:13:28.257 に答える
1

これで始められるはずです:

Df <- read.csv('https://dl.dropboxusercontent.com/s/nj243qcs6sx6fu8/Rates.csv?dl=1&token_hash=AAEvqZvmuesLhKJSrYHiasj-h0ULrABzbU0Q39bU6FJSCQ', 
           skip=19)

X <- as.matrix(Df[,grep("x",names(Df))])
Y <- as.matrix(Df[,grep("y",names(Df))])

matplot(X, Y, type="l", lty=1)

ここに画像の説明を入力

これをループに入れると、すべてのファイルのグラフを生成できます。

于 2013-11-08T09:45:08.173 に答える