忍者ブログ
Yaleで、遊んで学ぶ日々。

Yaleで、遊んで学ぶ日々。

囲碁、ときどきプログラミング、ところにより経済。
[1]  [2]  [3]  [4]  [5
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

R であるパッケージをインストールしようとしたら、次のようなエラーが出てしまった(OSはUbuntu)。

ctm.c:29:25: fatal error: gsl/gsl_rng.h: No such file or directory

どうもGNU Scientific Libraryというものが見つからないということらしい。
少し調べたら、 libgsl0-dev というものをインストールすれば良いらしいと分かった。
端末から、

sudo apt-get install libgsl0-dev

としてから再びRに戻ったら、無事インストールすることができた。

参考:Ubuntu Forum
PR
エクセル形式のファイルを読むにはCSVに変換してからread.csv()で読むのが一番無難だが、大量にシートがあったりすると面倒くさい。昔はマクロを書いたりもしたけど、Rから直接読めるのならその方がスマート。

色々方法はあるらしいけど、gdataパッケージを使うのでよさそう。perlがインストールされているのが条件だが、linuxなら元から入っていることが多い。

libary(gdata)
x <- read.xls("file.xls", sheet=1)

対象となるシートを指定しないといけないといけないのがちょっと難点。read.ods()は全シートを読み込んでくれるのだけど。
日本語が含まれていると、「Wide character云々」というメッセージが出るけど、大丈夫みたい。文字コードとかどう処理しているかはちょっと分からない。
Excel2007以降のxlsx形式でも動く様子。

ODSファイルは、OpenOffice, LIbreOffice Calcの標準形式である。これをRで読み込むには、まず各シートをCSV形式に保存・・・したりする必要はなし!
Omegaプロジェクトから、ROpenOfficeというパッケージが公開されている。今のところ公式レポジトリには入っていないようだが、普通に動くようだ。

Rを開いて。
install.packages("ROpenOffice", repos="http://www.omegahat.org/R")

でインストール。あとはいつもどおり
library("ROpenOffice")
x <- read.ods("file.ods")

でOK。
 



関数を作る関数。できるのかな、と思ってやってみたらできた。
 
fun <- function(x) {
    out <- function(y) {
        cat("x =", x, "\n")
        cat("y =", y, "\n")
        cat("x+y =", x+y, "\n")
    }
    
    return(out)
}
f <- fun(5)
f(2)

# 結果
x = 5 
y = 2 
x+y = 7 
 

ずっと気づかなかったのですが、RがUbuntuの公式リポジトリに入っているんですね。

ということは、最新バージョンにこだわらないのであれば、Rjpwikiに書いてある手順を踏まずともRをインストールすることができます。端末から

sudo apt-get install r-base
sudo apt-get install r-cran*

の2行くらいでいけるみたいです。

UbuntuのバージョンによってRのバージョンも変わるようです。Ubuntu12.04ではR 2.14でした。特に不便はないみたいです。


何事も公式リポジトリ内で済ませられればそれに越したことはないですね。

Calender
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Oldest Posts
Latest Trackbacks
フリーエリア

Barcode
Access Analysis
Powerd by NINJAブログ / Designed by SUSH
Copyright © Yaleで、遊んで学ぶ日々。 All Rights Reserved.
忍者ブログ [PR]