0

以下のような csv ファイルがあります。x 軸がリンク列で、y 軸が頻度を示し、各バーが Freq_E と Freq_S に基づいてグループ化されている積み上げ棒グラフを作成したいと考えています。csv を読み取って barplot に渡すと、機能しません。私はたくさん検索しましたが、すべての例のデータは分割表の形式です。どうすればいいのかわからない...

           link  Freq_E  Freq_S
1          tube.com 214 214
2          list.net 120 120
3          vector.com 119 118
4          4cdn.co  95  96
4

2 に答える 2

4

「機能しません」は、私がよく知っているRのエラーメッセージではありませんが、 aまたは aを使用する必要があるときbarplotに on aを使用しようとしていることが問題だと推測しています。data.framematrixvector

あなたが「df」と呼ばれていると仮定するとdata.frame(コドレミファの回答の冒頭で定義されているように)、次のことを試すことができます:

x <- as.matrix(df[-1])   ## Drop the first column since it's a character vector
rownames(x) <- df[, 1]   ## Add the first column back in as the rownames
barplot(t(x))            ## Transpose the new matrix and plot it

ここに画像の説明を入力

于 2013-11-21T16:14:00.327 に答える
3

ggplot2優れたライブラリを見て、例としてこのコードスニペットを試してください-

df <- read.table(textConnection(
'link  Freq_E  Freq_S
tube.com 214 214
list.net 120 120
vector.com 119 118
4cdn.co  95  96'), header = TRUE)

library(ggplot2)
library(reshape2)

df <- melt(df, id = 'link')
ggplot(
   data = df,
   aes(
      y = value, 
      x = link, 
      group = variable, 
      shape = variable, 
      fill = variable
   )
) +
geom_bar(stat = "identity")
于 2013-11-21T16:12:58.007 に答える