2

私は以下のようなスクリプトを持っています:

temp <- getURL("http://chart.yahoo.com/table.csv?s=^HSI&a=0&b=01&c=1900&d=0&e=07&f=2013&g=d&q=q&y=0&z=^HSI&x=.csv",.opts=opts)
write(temp,file="test.txt")
temp <- read.csv("test.txt")

データフレームとして再度インポートする前にtxtとして保存するのは嫌いです。次のようなことを聞​​いたことがありますがconnection、この「書き込みと読み込み」プロセスをスキップできますか?

4

2 に答える 2

3

関数read.csv()を直接使用して、このcsvファイルをインポートできます

temp<-read.csv("http://chart.yahoo.com/table.csv?s=^HSI&a=0&b=01&c=1900&d=0&e=07&f=2013&g=d&q=q&y=0&z=^HSI&x=.csv")
head(temp)
        Date     Open     High      Low    Close     Volume Adj.Close
1 2013-01-04 23370.36 23370.36 23172.28 23331.09 1505752800  23331.09
2 2013-01-03 23390.54 23400.74 23234.43 23398.60 2211207000  23398.60
3 2013-01-02 22860.25 23317.39 22860.25 23311.98 2129252800  23311.98
4 2012-12-31 22584.44 22698.33 22566.89 22656.92  685413000  22656.92
5 2012-12-28 22706.33 22706.33 22628.46 22666.59 1043816200  22666.59
6 2012-12-27 22705.46 22718.83 22608.60 22619.78 1053372600  22619.78
于 2013-01-07T06:41:10.527 に答える
1

別の回答は、read.csvへのURLを提供することにより、これを1つのステップで行う方法を示しています。テキスト文字列から読み取るより一般的なケースでは、次のtextConnection関数を使用します。

> data = read.csv(textConnection("A,B,C\n4,5,6\n99,5,4"))
> data
   A B C
1  4 5 6
2 99 5 4

Webページの例では、これは次のようになります。

> data = read.csv(textConnection(getURL("http://chart.yahoo.com/table.csv?s=^HSI&a=0&b=01&c=1900&d=0&e=07&f=2013&g=d&q=q&y=0&z=^HSI&x=.csv")))
> head(data)
        Date     Open     High      Low    Close     Volume Adj.Close
1 2013-01-04 23370.36 23370.36 23172.28 23331.09 1505752800  23331.09
2 2013-01-03 23390.54 23400.74 23234.43 23398.60 2211207000  23398.60
3 2013-01-02 22860.25 23317.39 22860.25 23311.98 2129252800  23311.98
4 2012-12-31 22584.44 22698.33 22566.89 22656.92  685413000  22656.92
5 2012-12-28 22706.33 22706.33 22628.46 22666.59 1043816200  22666.59
6 2012-12-27 22705.46 22718.83 22608.60 22619.78 1053372600  22619.78

しかし、明らかにそれはread.csv("http:/...etc")

詳細については、を参照help(connection)してください。

于 2013-01-07T08:13:05.993 に答える