web-dev-qa-db-ja.com

Rに.csvファイルを取得する方法は?

私はこの.csvファイルを持っています:

ID,GRADES,GPA,Teacher,State

3,"C",2,"Teacher3","MA"

1,"A",4,"Teacher1","California"

そして、私がしたいことは、R統計ソフトウェアを使用してファイルを読み込み、ヘッダーを何らかの種類のリストまたは配列に読み込みます(私はRに新しく、これを行う方法を探していましたが、今まで持っていました運がありません)。

ここに私がやりたいことのいくつかの擬似コードがあります:

inputfile=read.csv("C:/somedirectory")

for eachitem in row1:{

add eachitem to list
}

次に、計算を実行できるように、これらの名前を使用して各垂直列を呼び出すことができるようにします。

私は1時間グーグルを精査して、これをどのように見つけるかを試みましたが、ヘッダーを具体的に扱うことはあまりありません。

ご協力いただきありがとうございます!

36
Brian

計算を実行できるように、各垂直列を呼び出すことに言及しています。各変数を調べたいだけだと思います。これは次の方法で実行できます。

df <- read.csv("myRandomFile.csv", header=TRUE)

df$ID

df$GRADES

df$GPA

データを変数に割り当てるだけで役立つ場合があります。

var3 <- df$GPA
46
ATMathew

read.csv("C:/somedirectory/some/file.csv")が必要であり、一般に、下部のサンプルセクションを含むヘルプページを実際に見ても害はありません。

9

Dirkが言ったように、後の関数は「read.csv」または他のread.tableバリアントの1つです。上記のサンプルデータを考えると、次のようなことをしたいと思うでしょう。

_setwd("c:/random/directory")

df <- read.csv("myRandomFile.csv", header=TRUE)
_

上記で行ったことは、ディレクトリを.csvファイルがある場所に設定し、.csvをdfという名前のデータフレームに読み込むことだけでした。オブジェクトの構造をチェックすることにより、データが適切にロードされたことを確認できます。

_str(df)
_

データが適切にロードされていると仮定すると、データフレーム内のデータを使用して、任意の数の統計的方法を実行することを考えることができます。 summary(df)を開始するのに適した場所だと思います。 Rでヘルプを使用する方法を学ぶことは非常に有用であり、CRANのヘルプをすばやく読むと、将来多くの時間を節約できます。 http://cran.r-project.org/ =

6
Chase

使用できます

_df <- read.csv("filename.csv", header=TRUE)

# To loop each column
for (i in 1:ncol(df))
    {
    dosomething(df[,i])
    }
# To loop each row
for (i in 1:nrow(df))
    {
    dosomething(df[i,])
    }
_

また、各行/列で同じ関数を使用する場合は、apply関数(タイプ_?apply_またはhelp(apply))を確認することもできます。

3
nico

それがあなたを助けるならば、これをチェックしてください

df <-read.csv( "F:/test.csv"、header = FALSE、nrows = 1)df V1 V2 V3 V4 V5 1 IDグレードGPA教師の状態a <-c(df)a [1] $ V1 [ 1] IDレベル:ID

a [2] $ V2 [1]グレードレベル:グレード

a [3] $ V3 [1] GPAレベル:GPA

a [4] $ V4 [1]教師レベル:教師

a [5] $ V5 [1]状態レベル:状態

1
Sandeep

データが読み込まれたら位置でアクセスしたいと言うので、Rのサブセット化/インデックス付け機能について知っておく必要があります。

最も簡単なのは

df[row,column]
#example
df[1:5,] #rows 1:5, all columns
df[,5] #all rows, column 5. 

他の方法は here です。私は個人的に dplyr パッケージを使用して(位置ではなく)直感的なデータ操作を行っています。

0
jsl2