2016-05-31 12 views
-1

私はRの非常に初心者です.Cursera Rプログラミングコースを受講しており、宿題(汚染物質の平均宿題)に詰まっています。宿題の目的は、CSVファイルの列から手段を得ることです。ファイルには4つの列があります。私たちには300以上のファイルがあり、それぞれに1000以上の観測値があります。それらのほとんどはNAです。私が作業しているCSVファイルには、117の数値観測しかありません。私はこのようなものをしようとしている:私はcmydata1を持っていたら平均的なフォームをcsvファイルの列に入れてくださいR

cmydata1 <- read.csv("/Users/joshuavincent/Documents/specdata/001.csv") 

、私は「硝酸塩」、列の1の平均値を取得しようとしましたが、私はこれだ:それを解決するために

> mean(cmydata1, "nitrate") 
[1] NA 
Warning message: 
In mean.default(cmydata1, "nitrate") : 
    argument is not numeric or logical: returning NA 

> cmydata2 <- list(na.omit(cmydata1)) 
> cmydata2[[1]] 

結果は掃除行列、無NAもう

列です:私はこのような新しいリストを作成しました名前は: "日付" "硫酸塩" "硝酸塩"とIDです。

しかし、私はまだ平均

> mean(cmydata2, "nitrate") 
[1] NA 
Warning message: 
In mean.default(cmydata2, "nitrate") : 
    argument is not numeric or logical: returning NA 
私はそれを修正しようと

を取得することはできませんので、私はタイプ...とnullが

> colnames(cmydata2) 
NULL 

だから、私は何を修正する可能性があり得ますその列から平均を取得しますか? (その後、私は宿題を終えるためにループやものを試してみる必要があると思うが、私はそれに向かって非常に赤ちゃんのステップを進んでいる)

役立つことがあります:私は、自動入力にはcmydata1、cmydata2はいくつかの形状オルガニムのアイコンのようです。

おかげ

答えて

5

これはかなり単純な質問です、あなたはおそらく、直前に求められている他の質問を参照する必要があります。しかし、答えようとすると、データフレーム内の列を以下の2つの主な方法で参照します(他の方法もありますが)。

data(mtcars) #calling in some data that is stored in R already 

##METHOD 1## 
mean(mtcars$mpg,na.rm=T) #the 'na.rm=T' is to remove missing values before calculating the mean 
20.09062 

##METHOD 2## 

mean(mtcars[,'mpg'],na.rm=T) 
20.09062 
+0

私は既にそうしていました。以前の質問者のために与えられたすべてのソリューションを試しました。 > mean(cmydata1、na.rm = T) [1] NA 警告メッセージ: 1:In .HTMLsearch(クエリ):認識されない検索フィールド:タイトル 2: .HTMLsearch(クエリ):認識できない検索フィールド:キーワード 3:.HTMLsearch(クエリ):認識できない検索フィールド:エイリアス 4:mean.default(cmydata1、na.rm = T): 引数が数値でないか、または論理:返品NA –

+0

私はそれに取り組んで、私は新しいものがあれば戻ってくる。ありがとう! –

+0

あなたは私の解決策を試していませんでした。データセット全体を呼び出して、そのデータセットの単一の列とは対照的に、その平均を取得しようとしています。あなたは 'mean(cmydata1 $ nitrate、na.rm = T)'を試す必要があります。 – Jason

関連する問題