2017-04-26 6 views
0

私は想像できる最も簡単なコードを実行しています。私がやっているのは、Rにcsvファイルをインポートし、列を選択してから値を表示するように要求することだけです。どのように値を分離するのですか?

DEXUSUK = read.csv('C:/Users/Seth Reuter/Google Drive/GSU/Financial Engineering/Final Project/DEXUSUK.csv') 
ExchangeRates = DEXUSUK$DEXUSUK 

私がする必要があるのは、単一の値を返すExchangeRates[1]をプルすることだけです。代わりに私は得ている。

> ExchangeRates[1] 
[1] 1.4451 
2018 Levels: . 1.3658 1.3728 1.3757 1.3780 1.3811 1.3840 1.3960 1.3972 1.3974 1.3989 1.4018 1.4023 1.4034 ... 2.1104 
> 

とはなんですか?2018 Levelsとはなんですか?そしてどうすればそれを取り除くことができますか?

これは私が試みたものです。

> ExchangeRates[1]$Value 
Error in ExchangeRates[1]$Value : 
    $ operator is invalid for atomic vectors 
> ExchangeRates[1]$VALUE 
Error in ExchangeRates[1]$VALUE : 
    $ operator is invalid for atomic vectors 
> ExchangeRates[1]$value 
Error in ExchangeRates[1]$value : 
    $ operator is invalid for atomic vectors 

私が使用しているファイルはhereです。私は連邦準備銀行の経済データベースからダウンロードしました。

+1

あなたは単一の値を持っています。 1.4451です。残りの部分は、「為替相場」が数字ではない要因であることを警告しています。ファイルには数字ではないものがあります。 – G5W

+1

そして、何かがRがレベルの1つだと思う孤立した ''に関連している可能性があります。 – joran

答えて

2

問題は、DEXUSUK列に「。」が含まれていることです。欠損値を示す文字。したがって、read.csvは、その列を数値ではなく文字列として解釈します。 stringsAsFactors = FALSEを指定しなかったため、文字列は要素に変換されます。

この問題には多くの解決策があります。 1つは、RStudioウィザードを使用してデータをインポートすることです。このウィザードは、列の処理方法を細かく制御します。 read.csvを使用した修正は次のとおりです。

DEXUSUK <- read.csv("C:/Users/Seth Reuter/Google Drive/GSU/Financial Engineering/Final Project/DEXUSUK.csv", 
        stringsAsFactors = FALSE, 
        na.strings = ".") 
関連する問題