前提
統計学ソフトRでのエラーについてです。
解決策が分からないため質問させていただきます。
Windows11
R
実現したいこと
興行収入をスクレイピングしたcsvファイルにWeekend_Grossとnum_weekという興行収入と映画公開から何週間たったかを示す変数があります。この二つを散布図でplotしたいのですがエラーが出てしまいました。
ファイルの中身はこんな感じです。
csvファイルには100件以上の映画があるためnum_weekは同じ数字、特に1~6(1週間~6週間)の数値が多いです。縦軸にWeekend_Gross、横軸にnum_weekにしたいです。このままではよくわからにグラフになるので、Rのaggregate関数を使ってnum_weekの数値によってWeekend_Grossの平均をプロットしていこうと思いました。
イメージはこんな感じになるかと思います。
※このグラフは友達から提供してもらったものです。
そのコードが以下になります。
該当のソースコード
R
1data1 <- read.csv("2016week_favorite.csv",encoding = "UTF-8") 2 3data1 <- filter(data1,num_week < 50) #外れ値削除 4 5mean_Gross <- aggregate(x=data1[c("Weekend_Gross")],by = list(data1$num_week),FUN = mean) #平均 6 7plot(mean_Gross) 8 9
発生している問題・エラーメッセージ
しかしコードを実行すると
Error in [.data.frame
(data1, c("Weekend_Gross")) :
未定義の列が選ばれました
とのエラーが吐かれます。解決方法が見つけられなかったので皆さんの力をお借りできればなと思います。
よろしくお願いいたします。
回答者様のコードを実行
NamerikawaR様回答ありがとうございます!
コードを実行するとWeekend_Gross変数がないというエラーが出てきましたが(X.U.FEFF.Weekend_Grossに変換されている)、これはWindows特有のエラーだそうで「fileEncoding="UTF-8-BOM"」で読み込むことで解決しました!メモのためここに記しておきます。
そして本題ですが実行はできたもののWeekend_Grossの平均がnum_weekごとにとれていないようなグラフができました。
どうなっているのか、また解決方法はありますでしょうか。お力添えよろしくお願いいたします。
解決法
皆様回答ありがとうございました!
単純なミスでありまして大変申し訳ございません。
Weekend_Grossがなぜか文字型になっていたためプロットできないでいました。
なのですべて数値型に変換した上で実行した結果グラフが描けました!
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー