【R言語】統計解析フリーソフトR 第4章【GNU R】at MATH
【R言語】統計解析フリーソフトR 第4章【GNU R】 - 暇つぶし2ch331:132人目の素数さん
12/01/19 21:40:30.51
>>330
おお、そんな関数があったとは。


332:132人目の素数さん
12/01/19 22:15:43.34
>>330
おお、そんなsourceがあったとは。


333:132人目の素数さん
12/01/19 22:16:42.63
>>330
おお、そんなsourceがあったとは。


334:132人目の素数さん
12/01/19 22:17:29.69
>>330
おお、そんなsourceがあったとは。


335:132人目の素数さん
12/01/19 22:18:01.01
>>330
おお、そんなsourceがあったとは。


336:132人目の素数さん
12/01/19 22:18:19.65
>>330
おお、そんなsourceがあったとは。


337:308
12/01/19 22:19:02.38
>>330
おお、そんなsourceがあったとは。


338:308
12/01/19 22:19:42.03
>>330
おお、そんなsourceがあったとは。


339:308
12/01/19 22:20:11.53
>>330
おお、そんなsourceがあったとは。


340:132人目の素数さん
12/01/19 23:14:29.36
おおそんウェールズだったとは。

341:308
12/01/20 04:32:17.58
おまえら、いい加減にしなさい。

342:132人目の素数さん
12/01/20 05:22:51.54
おまえら、いい加減にしなさい。

343:313
12/01/20 20:36:44.68
スレが伸びていると思ったら、お前ら。。。

でも、実際の話、zapsmall()を知らないで、
条件分岐における数値型の同値の比較を
どうやって今まで書いていたのだろうと不思議に思う。

344:132人目の素数さん
12/01/20 20:42:23.02
>>307
こいつ自分で質問の意味わかってのかいな?

345:132人目の素数さん
12/01/20 23:50:31.94
>>343
他の言語と同じように書いてたよ。


346:132人目の素数さん
12/01/20 23:57:15.16
>>343
abs(x-y) < 10^-14 とか


347:132人目の素数さん
12/01/23 09:35:12.79
簡単なことですが質問させてください。
10*3の配列があり,1列目と2列目,1列目と3列目の計算し,
元の配列に戻したいばあい,どのように配列指定をしてやれば良いのでしょうか?

たとえば
x <- matrix(1:30, ncol=3)
で,
4列目に
x[,1]+x[,2]
5列目に
x[,1]*x[,2]

おそらく
x <- matrix(x[,1]+x[,2], x[,1]*x[,3], ???????)
で,「???????」を指定すればいいと思うのですが,,,,


よろしくお願いします

348:132人目の素数さん
12/01/23 09:52:39.90
>>347
> cbind(x,x[,1]+x[,2],x[,1]*x[,2])
[,1] [,2] [,3] [,4] [,5]
[1,] 1 11 21 12 11
[2,] 2 12 22 14 24
[3,] 3 13 23 16 39
[4,] 4 14 24 18 56
[5,] 5 15 25 20 75
[6,] 6 16 26 22 96
[7,] 7 17 27 24 119
[8,] 8 18 28 26 144
[9,] 9 19 29 28 171
[10,] 10 20 30 30 200
こういうこと?

349:347
12/01/23 10:02:32.95
早速ありがとうございます
>348

matrix()を使わなければいけないと悩んでいた私が馬鹿でした。
matrizだと横展開にしかならず苦悩しておりました。

350:348
12/01/23 12:02:36.25
>>349
いや、cbind()かmatrix()かは好みの問題だと思うぞ。
> matrix(c(x,x[,1]+x[,2],x[,1]*x[,2]),ncol=5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 11 21 12 11
[2,] 2 12 22 14 24
[3,] 3 13 23 16 39
[4,] 4 14 24 18 56
[5,] 5 15 25 20 75
[6,] 6 16 26 22 96
[7,] 7 17 27 24 119
[8,] 8 18 28 26 144
[9,] 9 19 29 28 171
[10,] 10 20 30 30 200

351:132人目の素数さん
12/01/23 13:13:39.14
RStudio最新版(0.94.110)はR-2.14以降も動作していますか?
RStudioご利用の方いましたら、ご一報お願いします

352:132人目の素数さん
12/01/23 13:28:06.82
>>351
$ dpkg -l rstudio r-base |tail -2
ii r-base 2.14.1-1oneiric0 GNU R statistical computation and graphics system
ii rstudio 0.94.110 RStudio
問題なし。


353:132人目の素数さん
12/01/23 18:42:28.25
Rjpwikiのヲチで申し訳ないが、
河童さんが、par(mfrow=c(2,1))を使わずに、layout(matrix(1:2, 2))を使う理由って何だろう。
layout()だとなんかいいことがあるのかな?


354:308
12/01/23 21:15:31.43
うん

355:132人目の素数さん
12/01/25 18:23:35.62
スペースで区切られた文字列(数値のみ)で,空白をカウントして改行するってことRでできますか?

例えば
1 2 3 4 5 6 7 8 9 10 11 12....

3 2 4 ....
という空白ごとに区切って
1 2 3
4 5
6 7 8 9
10 11 12....
としたいのです。

もし可能ならこのような場合,最初の文字列を配列に組み込むべきなのか,文字列として正規表現として処理するべきなのかどちらが好ましいのでしょうか?

よろしくお願いします

356:132人目の素数さん
12/01/25 19:06:09.47
>>355
> f355 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ res <- vector()
+ j <- cumsum(y)
+ res[1] <- paste(s[1:j[1]],collapse='')
+ res[2] <- paste(s[(j[1]+1):j[2]],collapse='')
+ res[3] <- paste(s[(j[2]+1):length(s)],collapse='')
+ return(res)
+ }
>
> f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[1] "123" "45" "6789101112"

こんな感じか。
あとは、res[1]からres[3]のところをfor文と条件分岐で処理して、
汎用化すればよいと思う。

357:356
12/01/25 19:08:12.54
6789と101112を区切ってなかった。
> f355 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ res <- vector()
+ j <- cumsum(y)
+ res[1] <- paste(s[1:j[1]],collapse='')
+ res[2] <- paste(s[(j[1]+1):j[2]],collapse='')
+ res[3] <- paste(s[(j[2]+1):j[3]],collapse='')
+ res[4] <- paste(s[(j[3]+1):length(s)],collapse='')
+ return(res)
+ }
>
> f355("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[1] "123" "45" "6789" "101112"



358:356
12/01/25 19:36:19.47
連投すまんがcut()を使った別解。
> f355.2 <- function(x,y){
+ s <- unlist(strsplit(x," "))
+ n <- as.integer(cut(as.integer(s),c(0,cumsum(y),Inf)))
+ sapply(1:length(unique(n)),function(x){s[n==x]})
+ }
>
> f355.2("1 2 3 4 5 6 7 8 9 10 11 12",c(3,2,4))
[[1]]
[1] "1" "2" "3"

[[2]]
[1] "4" "5"

[[3]]
[1] "6" "7" "8" "9"

[[4]]
[1] "10" "11" "12"

多分、識者ならsapply()部分をもっと効率よくできる気がする。

359:132人目の素数さん
12/01/26 01:27:31.67
f355.3 <- function(x, y)
{
STR.SPLIT <- strsplit(x," ")[[1]]

## y = c(3, 5, 1) で c(1,1,1,2,2,2,2,2,3)を返す
GROUP <- inverse.rle(list(lengths = y,
values = seq_along(y)))

## 上記のGROUPにあわせてsplit()
split(x = STR.SPLIT[seq_along(GROUP)], f = GROUP)
}

## これなら数字の順番がめちゃくちゃでも、文字列でも行けるかも。spaceが続くとおかしくなるけど
f355.3(x = "2 ch R 2012 01 26 2 0 1 2 0 1 2 6 R", y = c(3, 5, 1, 2, 2))


360:355
12/01/26 07:03:57.07
>356-359

ご教授ありがとうございます。
配列に組み込んだものをループで処理することしか考えてませんでしたので,
以外な回答です。

プログラムに関しては勉強中なのですがなかなか上手くいかず悩んでおります。

ありがとうございます

361:355
12/01/26 08:28:33.03
連投申し訳ありません。
これまで統計処理に関してRを利用してきましたが,この度プログラミングもしっかり勉強したいと思うようになりました。
先にも記したようにプログラミングは初学者です。
CやPerlなど多様な言語がありますが,Rの場合どの系統のプログラミング教本で勉強を始めれば良いのでしょうか?
オススメ教科書があればよろしくお願い致します。


362:132人目の素数さん
12/01/26 10:23:38.00
>>361
>>356だけど、正統なプログラミングの勉強をしたことがない。
プログラミングの勉強って、語学の勉強と似ていると思う。
一通り、文法を勉強したら、あとはひたすら経験を積むだけ。
人の表現を聞いて、あぁこういう場面ではこういう風に言えばいいのか、
と人まねを積み重ねる。

一通りの文法レベルの話なら、私はまだ未読だけど、
間瀬先生のRプログラミングマニュアルはどうかな。
間瀬先生の本なら、間違いはないと思う。

>>359
おぉ素晴らしい。rle()の存在を失念していました。



363:359
12/01/26 11:44:04.18
統計解析に持っていくためのデータの準備ということであれば
Rデータ自由自在(Data Manipulation with R)がおすすめ。

Rプログラミングマニュアル(間瀬)は辞書的な感じ。

Rの基礎とプログラミング技法(石田訳)、プログラミングR(高階)は読み物的な感じ。
レイアウト的に後者の方が読みやすいか。

海外では最近出たThe Art of R Programmingがよいとされている様子。

364:132人目の素数さん
12/01/27 14:53:34.00
あるベクトルの,p番目からq番目までの和を求める関数ってある?


365:364
12/01/27 15:34:02.11
基本的な物を見落としておりますた。
すみません

366:132人目の素数さん
12/01/28 12:45:02.86
>>364
sum(vector.name[p:q])
が一番普通か

367:132人目の素数さん
12/01/30 00:42:00.17
コンタープロットで、データがマトリクスになっている場合はいいのですが

(x,y,z)=
(0,0,0)
(1,1,2)
(3,2,4)
(0,9,2)
(2,0,4)

みたいに不規則な点列で構成された場合のコンタープロットを作成することは
出来ませんでしょうか?
Zの値を0~1に正規化して、(x,y)の位置にgray(z)で塗りつぶした円を二次元プロットする
っていう手法でそれらしいものを作ってはみたものの、やっぱりイマイチなのでw



368:132人目の素数さん
12/01/30 11:00:34.81
>>367
ぱっと思いつくのは、グリッドを作成して、(x,y,z)の値から、スプラインやkrigingなど
空間平滑法で各グリッド点における値を推定し、それで等値線を描く。

369:名無しさん
12/01/30 21:51:46.12
>>368
krigingでググると
URLリンク(web.sfc.keio.ac.jp)
っていうのが見つかりました。
ちょっとやってみます。どもでした。


370:名無しさん
12/01/30 23:07:03.68
フジテレビ式円グラフはどうやって作ればよいのでしょうか?
URLリンク(blog.livedoor.jp)


自分にはこんなのが精一杯でした...

library(ggplot2)

DF <- data.frame(age=c("10~20代", "30代","40代","50代"), value=c(97,78,78,94))

ggplot(DF, aes(x=age, y=value, fill = age)) +
geom_bar(width = 1) +
scale_y_continuous(breaks = 0:100) +
coord_polar() +
labs(x = "", y = "") +
opts(legend.position = "none", axis.text.y = theme_blank(),axis.ticks = theme_blank())



371:名無しさん
12/01/30 23:16:40.05
>>370
また奥村先生がアップをはじめそうなグラフが出てきたな。

372:名無しさん
12/01/31 00:39:21.68
中心をずらすって言うのはグラフ的にあり得ないからグラフのパッケージでは無理だと思う。
できるとしたら地図関係のパッケージだろうね。

373:名無しさん
12/01/31 10:47:16.46
>>369
こんな感じじゃないの
i <- (1:360)/360*2*pi
cntr <- c(0.1,0.3)
v <- c(94,78,78,97)
arc <- cut(1:360,c(0,round(cumsum(v)*360/sum(v)),Inf))

plot(cos(i),sin(i),type="n",asp=1,axes=FALSE,xlab="",ylab="")
l <- levels(arc)
cols <- c("deepskyblue","dodgerblue1","dodgerblue3","brown1")
lbs <- c("50代\n94人","40代\n78人","30代\n78人","10~20代\n97人")
cexs <- c(1.5,1.5,1.5,3)
for (j in 1:4){
k <- c(i[arc==l[j]],max(i[arc==l[j]])+1/360*2*pi)
polygon(c(cntr[1],cos(k)),c(cntr[2],sin(k)),
col=cols[j])
text(mean(cos(k))/1.5,mean(sin(k))/1.5,lbs[j],cex=cexs[j])
}


374:名無しさん
12/01/31 12:12:08.71
>>370
ウジのグラフは、センターがずれてるだけじゃなくて「弧の長さの割合」も意図的に変えてるから、完全再現は無理みたいよw
参考 URLリンク(blog.kzfmix.com)

そもそも、あんなおぞましいグラフを好んで描く必要ないと思うけど、こんなんでどう?
library(grid)
quartz(height=4, width=4)
#png(filename = "fuji-pie.png", width = 360, height = 360, units = "px")
num <- c(94, 97, 78, 78)
distortion <- c(1, 1.2, 1, 1) # <- !!
dist_num <- num * distortion
cum <- c(0, cumsum(dist_num))
rad <- cum / sum(dist_num) * 360 / 180 * pi
colors <- c("#0000FFAA", "#FF0000AA", "#000055AA", "#0000AAAA")
labels <- paste(c("50ies¥n", "10~20ies¥n", "30ies¥n", "40ies¥n"), num, " ps", sep="")
lab_cex <- c(1, 1.5, 1, 1)
lab_col <- c("white", "yellow", "white", "white")
div <- 200 # 円弧部分の分割数
dx <- 0 # 半径=0.5 として、x 方向への中心のズレ (-0.1 とかにすると、より強烈w)
dy <- 0.1 # 半径=0.5 として、y 方向への中心のズレ
for (i in 1:length(num)) {
x <- c(0.5 + dx, 0.5 + 0.5 * sin(rad[i]), 0.5 + 0.5 * sin(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * sin(rad[i+1]))
y <- c(0.5 + dy, 0.5 + 0.5 * cos(rad[i]), 0.5 + 0.5 * cos(seq(rad[i], rad[i+1], length.out=div)), 0.5 + 0.5 * cos(rad[i+1]))
grid.polygon(x=x, y=y, gp=gpar(fill=colors[i]))
grid.text(x=0.5 + 0.4 * sin((rad[i]+rad[i+1])/2), y=0.5 + 0.4 * cos((rad[i]+rad[i+1])/2), label=labels[i], gp=gpar(col=lab_col[i], cex=lab_cex[i]))
}
#dev.off()

RjpWikiにも置いときました。
URLリンク(www.okada.jp.org)


375:名無しさん
12/01/31 12:41:24.02
>>373-374
すげー
これフジテレビに売り込みにいけよwww

376:373
12/01/31 14:45:06.35
私の方もRjpwikiに追加しておきました。

>>374さんは河童さんかと一瞬思ったけど、
そういえば河童さんはgridが嫌いだったから、別な人ですね。

377:375
12/01/31 23:04:16.60
もちろん、河童さんの足下にも及ばない半素人です

裏Wikiの方でも、がっつりとダメ出しされましたw
でも「裏」氏のファンなので、ちょっと嬉しかったりもしますw

378:374
12/01/31 23:16:34.60
↑で、名前間違えてた...orz

379:名無しさん
12/01/31 23:52:13.20
まさに誰得関数!

380:132人目の素数さん
12/02/02 15:19:45.32
知恵を貸してください。
0~6ぐらいまでの整数を要素にもつサイズが50のベクトルを作りたい。
できればポアソン分布に従って。
ここまでなら、
> rpois(50,2.5)
[1] 1 1 1 4 4 3 0 3 3 3 0 1 1 0 4 5 2 2 2 2 4 0 4 4 2 1 3 1 1 3 3 2 1 1 3 4 3 3
[39] 3 3 4 1 1 1 5 5 1 0 3 6
こんな感じでできるんだけど、このベクトルの合計をきっちり150にしたい。
固定したいのは、ベクトルサイズ50とベクトル合計値150だけで、lambdaとかは適当でいい。

当たり前だけど、合計値は変動する。
> sum(rpois(50,2.5))
[1] 132
> sum(rpois(50,2.5))
[1] 131
> sum(rpois(50,2.5))
[1] 118

こういうときはどうすればいいんだろうか。
よろしくお願いします。

381:132人目の素数さん
12/02/02 16:52:09.32
>>380
無理やりの処理だが、こんなんじゃ駄目?

mypois <- function(n=50,sum=150,adjtimes=10){
myvec <- rep(0,times=n)
mysum <- 0
for(i in 1:adjtimes){
mysum <- sum(myvec)
myvec <- myvec + sign(sum-mysum)*rpois(n,abs(sum-mysum)/n)
myvec[myvec < 0] <- 0
if( abs(sum-mysum) == 0 ){ break }
}
return(myvec)
}

> x <- mypois(50,150)
> x
[1] 3 2 3 2 5 3 4 5 4 0 1 1 5 4 6 3 5 5 0 4 4 3 4 5 4 7 1 4 1 2 1 2 3 2 1 3 7 2
[39] 0 2 2 3 0 1 3 6 3 4 2 3
> sum(x)
[1] 150


382:381
12/02/02 17:00:53.33
0から6になってなかったのと、計算の順番がおかしかったので修正した。

mypois <- function(n=50,sum=150,max=6,adjtimes=10){
myvec <- rep(0,times=n)
mysum <- 0
for(i in 1:adjtimes){
myvec <- myvec + sign(sum-mysum)*rpois(n,abs(sum-mysum)/n)
myvec[myvec < 0] <- 0
myvec[myvec > max] <- max
mysum <- sum(myvec)
if( abs(sum-mysum) == 0 ){ break }
}
return(myvec)
}

> x <- mypois(50,150,6)
> x
[1] 1 6 1 0 5 3 5 1 2 6 3 3 6 3 3 3 3 3 1 4 2 3 3 0 5 4 3 6 3 5 2 4 4 0 2 1 3 3
[39] 2 4 0 2 1 3 6 4 4 2 1 6
> sum(x)
[1] 150


383:381
12/02/02 17:33:39.03
青木先生のところの poissondist に嵌めたら、今一つなのは、
0~6からはみ出たデータを丸めたからかな。上手い方法がないものかねぇ。

> x <- mypois(50,150,6)
> x
[1] 5 2 1 3 4 4 3 4 3 0 5 5 3 3 1 2 4 4 4 2 5 0 3 4 2 2 3 4 4 1 6 1 1 5 4 4 2 4
[39] 2 5 1 3 2 0 5 2 5 4 1 3
> poissondist(hist(x,plot=F)$counts)

ポアソン分布への適合度の検定

data: hist(x, plot = F)$counts
X-squared = 9.7821, df = 4, p-value = 0.04426
sample estimates:
n lambda
50.00 2.06


384:132人目の素数さん
12/02/02 18:40:11.25
>>381-383
おぉ、十分です。最大は「6ぐらい」なので7とかでもOKですから、
丸めはマイナスになるときだけ必要です。
for文のところはとても勉強になりました。
ありがとうございました。


385:132人目の素数さん
12/02/06 23:36:20.10
こんばんはR初心者です。
一通り調べたのですが、分からない事があるので質問させてください。
○行ごとのplotを行いたい場合、どのようなコマンドを打てば良いのでしょうか?

例えば、
y1 y2...y10
x1
x2
.
.
.
x100
このような100行×10列のデータフレーム名Xの2列目と4列目をplotしたい場合、
plot(X$y2,X$y4)で1行ごとのplotは出来るのですが、
これをx1,x5,...x100と5行おきにplotしたいのです。

どうかご教授ください。


386:132人目の素数さん
12/02/07 00:25:49.86
>>385
X1 <- X[(0:20)*5+2, ]

387:132人目の素数さん
12/02/07 08:46:05.39
>>385
>このような100行×10列のデータフレーム名Xの2列目と4列目をplotしたい場合、
>plot(X$y2,X$y4)で1行ごとのplotは出来るのですが、
>これをx1,x5,...x100と5行おきにplotしたいのです。

plot(X[seq(1, 100, 5), c(2, 4)])
でどう?

[行番号, 列番号]
で要素を指定

seq(from, to, by)で1,6,11.16...,100をつくる




388:132人目の素数さん
12/02/07 22:43:27.83
>>385

1,5,...,100 は、最初だけ4行の間隔ですね。
5,10,15,...,100 、あるいは、1,6,11,...,96 ですか?

でしたら、私のお薦めも >>387 と同じ方法。


389:132人目の素数さん
12/02/08 13:38:50.77
Emacs ESS でアンダースコアが" <- "になってしまうのが凄く迷惑なんだけど
なんであれがデフォルトなんだろう

390:132人目の素数さん
12/02/08 17:34:58.86
タイプ量減るしいいじゃん。

391:132人目の素数さん
12/02/08 20:31:18.89
>>389
アンダースコア2度打ちで、アンダースコアを入力できるというのを
知った上で迷惑と行っているのだろうね。

そもそもRではアンダースコアは使用禁止だったので、
空いているアンダースコアにその機能が割り当てられたという歴史的経緯がある。
デフォルトの理由は、>>390の言うとおり便利で楽だかから。
いやな人は設定を変更すればいいし。

逆にターミナルでRを使っていて、<-のつもりでアンダースコアを入力して
イラッと来ることがある。


392:132人目の素数さん
12/02/08 22:46:01.26
>>391
設定変えるためにググってたらrjpに飛んで、そこで初めて二度打ちやC-q _ でアンダースコアを入力できることを知った

アンダースコアを打つためにわざわざテキストモードに変更してた

よく調べもしないで愚痴言ってすいません

393:132人目の素数さん
12/02/13 12:25:46.70
emacs essでRコマンダー使うとRコマンダーで外部データを読み込ませた瞬間固まるorz
うまくいってるかたいますか?


394:393
12/02/13 14:44:06.36
すいません自己解決?しました。

emacsのR側で一行でも改行がコマンドを実行すればコマンダー側のフリーズが直りました。

フリーズ自体は何台かのPCで試したところ起こる場合と起こらない場合がありました。
環境に依存するようです。


395:132人目の素数さん
12/02/13 22:00:37.21
>>393,394
emacs ess で Rコマンダーを使うメリットって、何?
利点がまったく分からないのだけど。


396:393
12/02/14 00:04:31.33
>>395
ご指摘のとおりで。
研究仲間がコマンダー使ってて、両方同時に使えると便利だから試しました。
まぁそうじゃなくても使えないよりは使えたほうが少しくらい便利かなと、、、

397:132人目の素数さん
12/02/15 23:54:50.83
Rにはschemeなんかのfoldにあたるような高階関数はないんですか?
せっかくベクトル演算言語なので数え上げも高階関数で出来ればと思ったんですが。

398:132人目の素数さん
12/02/16 09:49:58.30
>>397
URLリンク(stat.ethz.ch)
プログラミング言語はよくわからないけど、これは参考になるだろうか?

399:132人目の素数さん
12/02/16 09:57:29.11
>>398
たぶん Reduce()がfoldに相当するんじゃね

400:397
12/02/16 16:23:10.40
>>398>>399
それです
ありがとうございます

401:398
12/02/16 16:52:41.50
>>400
いまいちイメージがわかないんだけど、面白い使い方があったら、教えてくだされ

402:132人目の素数さん
12/02/17 05:50:16.64
lmによる回帰分析で、切片をあらかじめ固定することはできますか?
切片を取り除くには「-1」を指定するということはわかりますが、ここを好きな値に固定したいのですが・・・

403:132人目の素数さん
12/02/17 13:00:44.62
>>402
URLリンク(r.789695.n4.nabble.com)


404:397
12/02/17 19:52:56.72
>>401
おもしろいかどうかわかりませんが、
data <- as.integer(runif(10,1,21))
のようなデータがある時に、
predicate <- function(x) { x < 5 }
が真になるような項目を数え上げたいとします。

for文を使うと

ret <- 0
for(i in 1:length(data)){ if (predicate(data[i])) { ret <- ret + 1 } }

のような形になりますが、高階関数を使うと、

length(Filter(predicate, data))

と書けるようになります。
これは関数プログラミングの技法で、もう少し詳しく学びたいようでしたら
programming in haskellなんかが薄くていい本なんじゃないかと思います。

405:132人目の素数さん
12/02/17 20:15:30.11
>>404
>>401じゃなくて申し訳ないが、
> length(Filter(predicate, data))
[1] 4
> sum(data<5)
[1] 4

この場合だと下の方が簡単。しかも、
> system.time(sapply(1:1000, function(x){length(Filter(predicate, data))}))
ユーザ システム 経過
0.072 0.000 0.074
> system.time(sapply(1:1000, function(x){sum(data<5)}))
ユーザ システム 経過
0.000 0.000 0.002
圧倒的に速い。

406:405
12/02/17 20:17:05.57
s/下の方が/後者の方が/


407:132人目の素数さん
12/02/17 22:46:29.44
>>404
「おぉ高階関数はこれほどまでに便利なものかと実感できる事例」を期待している。

408:132人目の素数さん
12/02/18 05:48:26.33
rubyで高階関数組み合わせてやってたけど
Rに移ってtapplyとかmapplyが便利すぎて禿げた

409:132人目の素数さん
12/02/18 06:05:41.05
>>404
Filter()の例は
length(data[data < 5])
みたいなもんか


410:397
12/02/18 11:40:22.15
>>405
なるほど、そんな書き方が出来るんですか
だとしたらそちらの方がよさそうです
速度はおそらく最適化の問題でしょう
下の方がRネイティブっぽいので十分な最適化が行われているんだとおもいます

411:397
12/02/18 12:01:56.66
>>407
事例はちょっと思いつかないんですが
高階関数はプログラムの中の構造を関数として再利用するためのものです

その点では>>404はあまりいい例ではなくて、
ret<-0
for(i in 1:length(data)){if(predicate(data[i])){ret<-ret+1}else{ret}}
について高階関数を利用する例だとすると、
Reduce(function(ret, x){if(predicate(x)){ret+1}else{ret}},data,0)
になります。これは外側のループの部分の構造をReduceという関数で再利用していると言う形になります

でもどうやらこの手の単純な高階関数はベクトル計算という形でRに組み込まれているようなので
あまり出番はなさそうですね

412:132人目の素数さん
12/02/19 03:55:37.05
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

413:132人目の素数さん
12/02/19 08:58:51.23
教えてください。
Epiパッケージを使用して、ROC曲線下面積を求めたら0.5未満になりました。
独立変数は二分変数に関係しないと判断しその値(0.425)を記載することは正しいのでしょうか?



414:132人目の素数さん
12/02/19 17:00:59.94
アウトカムの変数は予測因子の数字が大きくなると大きくなると陽性になりますか?もし数が大きい方がアウトカムが陰性ならば、アウトカムの1,0をひっくり返す必要があるかも?

415:132人目の素数さん
12/02/19 23:14:01.45
>>414
ありがとうございます。
明日にでも、いれかえて検討してみます。

416:132人目の素数さん
12/02/29 23:39:27.42
応答曲面法で最適値を求めるっていうのは出来ないのか?
パッケージrsmがそれっぽいんだが


417:132人目の素数さん
12/03/01 23:08:27.13
>>416
なんていうか、もろに、rsm() がそうなんだが?
使い方は
URLリンク(www.jstatsoft.org)
をみてくれ


418:132人目の素数さん
12/03/03 12:45:30.73
Rを2.14.2にしたいんですが、インストールして再起動すると確かに2.14.2にはなるんですが、保存していたオブジェクトが全て消えてしまいます
オブジェクトを引き継ぐ方法はないんでしょうか?
今は2.13.1を使ってます

419:132人目の素数さん
12/03/03 16:40:03.10
save(list = ls(all=TRUE), file = "old.RData")
で明示的に保存ファイルを作って、
それを新バージョンで
load(file = "old.RData")
したらどうなる?



420:132人目の素数さん
12/03/04 18:26:31.31
マルチコア対応しましたか~??

421:132人目の素数さん
12/03/04 19:53:40.43
parallelというパッケージができたね

422:132人目の素数さん
12/03/04 20:21:12.91
>>420
ググると、gotoBLASをマルチコア向けにコンパイルしてRで利用する話が、
詳しく解説されている。

調子に乗ってcuBLASに差し替えられないかと考え、
プログラム板のcudaスレに行ったことがあるが、
あそこの住人はnvccを使わない人間をバカだと考えているみたいだ。

423:420
12/03/04 22:56:21.28
>>421 >>422
良い情報をありがとうございます。
調べてみます。

シングルスレッド性能でのCPU探しも終わりにしたいですw

424:132人目の素数さん
12/03/04 23:06:08.66
今なら分散処理じゃ無いかな。IT系のWebサイトじゃあ hadoop とか流行ってるし、
解きたい課題を Map-Reduce に落とし込めればRでの分散処理も可能かと。

425:132人目の素数さん
12/03/08 19:59:09.03
URLリンク(cran.r-project.org)
preciseはまだまだ来ないね。

426:132人目の素数さん
12/03/11 23:35:42.80
R初心者でpolr関数を使って解析しているのですが、
P値の出し方がわかりません。

お分かりになる方いらっしゃいましたら教えて頂けないでしょうか。

詳細な情報が必要であれば補足します。

427:132人目の素数さん
12/03/12 16:16:16.41
URLリンク(stats.stackexchange.com)
の二番目の最後のところをみると、正確にはもとまらないから、計算されないようになっている、ということのように思いました。

428:132人目の素数さん
12/03/13 00:08:39.50
URLリンク(www.r-project.org)
R 2.15.0 prerelease versions are currently available. Final release is scheduled for March 30.

429:132人目の素数さん
12/03/15 07:30:22.52
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

430:132人目の素数さん
12/03/20 20:20:19.86
Rを使ってる最中(emacs+ess)
作ったオブジェクトの数が多くなって、ls()で変数名を見ても、
思い出せない。

こういう状況に対処するにはどうしたら良い?
新しい環境を用意して、そちらに移す?(assignを使って、.GlobalEnvのものを消す?)
それとも、特定のファイルに保存する?(複数個のオブジェクトを1ファイルに保存できる?)

よい方法などがあれば、教えて。

あと、
emacs+essを使ってるけど、lispとかは分からんので、
emacsの機能での解決方法を示されても反応できないかも。
その時は、ごめんなさい。

431:430
12/03/20 20:22:30.66
言葉不足だったので、訂正します。
>>assignを使って、.GlobalEnvのものを消す?
assignを使って別の環境にデータを入れて、.GlobalEnvの方は消す?

432:430
12/03/20 20:28:40.90
>>419
でファイルに保存する方法があったね。見てなかった。

save(list=c("オブジェクト名1","オブジェクト名2"),file="a_path")
とかでもいいのか。でも、なんか面倒だな。

433:132人目の素数さん
12/03/20 21:37:25.25
>>430
変数名を見ても思い出せない命名法に問題がありそうだけど
あと俺は使っていないけどcomment()を上手に使うとか。

434:430
12/03/21 00:50:48.76
>>433
こんな感じ?
tmp <- sapply(ls(), function(x)comment(eval(parse(text=x))))
tmp[sapply(tmp,is.null)] <- NULL
tmp
これを関数にしておいて、呼び出せば良いかな?

あとは、commentに自動的に参照or作成時間を入れておくとかかな。
どうやったらできるか分からないけど。

435:132人目の素数さん
12/03/22 22:37:07.40
スクリプトをファイルに書き出して基本的にはバッチモードでRを動作させております。
その場合のエラーハンドリングってどうしてますか?
stop関数で停止はするのですが、
どの関数のどの行数で停止したかなどがいまいちわかりづらいときがあります。
引数で与えるコメントを変えればいいのでしょうが、いちいち面倒なので。。。

例えばCだと
printf("%s %s\n", __FILE__, __LINE__);
なんかで対応できるんですが。。

いい方法ありますか?

436:132人目の素数さん
12/03/26 13:16:29.99
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

437:132人目の素数さん
12/03/26 17:52:13.93
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

438:132人目の素数さん
12/03/27 00:36:36.55
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

439:132人目の素数さん
12/03/27 12:48:45.92
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

440:132人目の素数さん
12/03/27 20:00:22.88
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

441:132人目の素数さん
12/03/27 23:36:28.28
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

442:132人目の素数さん
12/03/29 01:36:02.65
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

443:132人目の素数さん
12/03/30 22:40:29.56
R 2.15.0 is released
URLリンク(www.r-bloggers.com)


444:132人目の素数さん
12/04/03 21:15:56.45
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

445:132人目の素数さん
12/04/06 18:58:58.10
チラ裏
Meadow 2.10(Emacs 21.4.1) + R 2.15.0 で、
ESS 5.14 → ESS 12.04 にしてみたら、
symbol's function definition is void と言われてしまい、
元に戻した今日の夕暮れ。


446:132人目の素数さん
12/04/10 15:45:27.97
URLリンク(cran.r-project.org)
Preciseはまだ来ないね。4月26日以降になるのかな

447:132人目の素数さん
12/04/14 11:43:41.70
R2.15.0 って、なんか目玉機能あります?


448:132人目の素数さん
12/04/20 23:36:06.27
ソースコードが1つのファイルで2万行ぐらいになってしまったので
複数のファイルに分割したいのですがやり方がわかりません。
助けてください

449:132人目の素数さん
12/04/20 23:38:20.91
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

450:132人目の素数さん
12/04/21 07:52:14.18
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

451:132人目の素数さん
12/04/21 09:49:45.56
>>448
2万行って何それ、すごい。
そんなにRの専門家なのに、そんなことを悩むとはw
source()を使って階層的にしたら駄目なの?

452:132人目の素数さん
12/04/21 16:42:07.10
>>448
むしろ、何の処理をさせたら、2万行になるのか知りたい。


453:132人目の素数さん
12/04/21 17:49:35.34
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

454:132人目の素数さん
12/04/21 18:59:03.29
>>448
縦書きか

455:132人目の素数さん
12/04/24 07:20:26.82
SUBSTR<- function(X,S,E){
if(length(unique(nchar(X)))>1)stop("warning")
if(unique(nchar(X))<max(S,E)|min(S,E)<=0)stop("warning")
temp<-t(sapply(X,function(X){mapply(substr,X,start=S,stop=E)}))
dimnames(temp)<-NULL
temp
}


456:132人目の素数さん
12/04/24 07:25:35.41
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

457:132人目の素数さん
12/04/24 10:40:39.43
>>455
突然どうしたの?

オレならecho X | cut -cS-Eをsystem()でやっちゃうな。

458:132人目の素数さん
12/04/24 12:16:39.44
barplotの質問です URLリンク(cran.md.tsukuba.ac.jp) を使っています。
100個の文字列(labels)と数値(num)を棒グラフに書き出したいのですが
barplot(num, names.arg=labels)
いざ書き出すと文字列名がすべて表示されません
理想的にはURLリンク(commons.wikimedia.org)(alphabetic).svg
このように数値と文字列をすべて表示させたいのですが、どうすればよいでしょうか。

また、numでソートした棒グラフとlabelsでソートした棒グラフをそれぞれ作成するには
どうすればいいでしょうか。
他のプログラミングでいうとろこの、
ハッシュ構造に文字列と数値を格納してキーと値でそれぞれソートするという手順がよく分かりません。

459:132人目の素数さん
12/04/24 12:32:11.32
>>458
グラフのサイズを多きすくすれば細かい文字も入るよ。
> pdf(file="test.pdf",width=50,height=10)
> barplot(round(runif(100),1),names.arg=sapply(1:100,function(x){sample(LETTERS,1)}))
> dev.off()
ソートは次の例を参考にしてくれ。
> (a <- data.frame(v=round(rnorm(5),1),n=sample(LETTERS,5)))
v n
1 -0.1 F
2 -0.4 W
3 1.6 M
4 -0.2 R
5 -0.5 V
> a[order(a$v),]
v n
5 -0.5 V
2 -0.4 W
4 -0.2 R
1 -0.1 F
3 1.6 M
> a[order(a$n),]
v n
1 -0.1 F
3 1.6 M
4 -0.2 R
5 -0.5 V
2 -0.4 W

460:459
12/04/24 12:37:45.20
>>459
barplot()は
> barplot(round(runif(100),1),names.arg=sample(LETTERS,100,replace=TRUE))
に差し替え。最初はアルファベット2文字で書こうとしたのでsapply()が入った。


461:132人目の素数さん
12/04/24 22:47:48.17
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

462:132人目の素数さん
12/04/24 23:01:21.57
>>459-460
ありがとうございます。ばっちりできました。

463:132人目の素数さん
12/04/24 23:52:37.90
URLリンク(www.is.titech.ac.jp)
R の公式マニュアル5種類の和訳

このサイトが見れないです

464:459
12/04/25 00:40:38.22
>>463
10年以上前の情報だぞ。
書店で最新の本を買えよ

465:132人目の素数さん
12/04/25 00:59:05.13
>>464
他にマニュアルの和訳したサイトってないんですか?

466:132人目の素数さん
12/04/25 14:04:32.25
>>465
私の知る限りない。
現状では、マニュアルを読む気概がある人=英語でも大丈夫、という空気になっていて、
初心者や英語が苦手な人は、マニュアルを咀嚼した和書を購入すると思う。

467:132人目の素数さん
12/04/25 21:29:19.12
>>466
ありがとうございます

468:132人目の素数さん
12/04/27 03:23:30.97
sample(c("T", "F"), 1000, replace = TRUE)
こうして作成したベルトルからTの個数を数えあげるには
どうすればよいでしょうか
for(i in 1:1000){}として一つ一つ値を見るしかないのでしょうか。

469:132人目の素数さん
12/04/27 06:14:45.59
>>468
sum(sample(c("T", "F"), 1000, replace = TRUE))

470:132人目の素数さん
12/04/27 06:17:19.41
c("T","F")だから、
sample(c("T", "F"), 1000, replace = TRUE)-> x
sum(x=="T")
でした。

471:132人目の素数さん
12/04/27 11:05:43.29
>>468
長年のR利用経験から、おっさんが助言する。
"T"や"F"の文字列の使用は、トラブルの原因になる場合があるので、やめておけ。
なかなか気が付きにくいバクの原因になるから、
徹夜でトラブルシューティングするはめになるぞ。
"t"や"f"も使うな。
今回はsample(c("T", "F"), 1000, replace = TRUE)とする代わりに、
sample(c(T, F), 1000, replace = TRUE)とした方がよい。
"T"の代わりにTを、"F"の代わりにFを使うんだ。

472:132人目の素数さん
12/04/27 14:26:57.77
x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5)
z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9)
y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10)
このx,y,zをもとに
"要素1" xのベクトル
"要素2" yのベクトル
"要素3" zのベクトル
このような表形式で結果をまとめるにはどうすればいいですか?
ベクトルの操作だけでは全体の整形ができないようなのでわかりませんでした

473:132人目の素数さん
12/04/27 14:31:54.94
>>472
「表形式で結果をまとめる」の意味が不明瞭。
ftable()案件なのか、rbind(x,y,z)やcbind(x,y,z)でよいのか、
それとも論文にするの表(TeX)にしたいのか、
分かるように伝えてくれ。

474:473
12/04/27 14:36:29.43
>>472
>"要素1" xのベクトル
>"要素2" yのベクトル
>"要素3" zのベクトル
これって、例えば、次のような形なんだろうか。
> X <- rbind(x,y,z)
> colnames(X) <- month.name[1:ncol(X)]
> X
January February March April May June July August September October November
x 2 3 5 4 7 9 10 2 3 4 5
y 4 6 10 8 14 18 20 4 6 8 10
z 3 5 9 7 13 17 19 3 5 7 9



475:132人目の素数さん
12/04/27 15:01:57.09
x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5)
z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9)
y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10)

f = c("要素1","要素2","要素3")
cbind(f,data.frame(rbind(x,y,z)))

こういうこと??



476:132人目の素数さん
12/04/27 16:25:40.38
説明不足ですみません
tex形式ではなくプレーンテキストで結果を見ることができれば十分です
>>473-475のrbindやcbindで大丈夫そうです。ありがとうございます。
ただ欲を言えば[,1]のような見出し部分を取り除ければいいのですが、可能でしょうか。

477:132人目の素数さん
12/04/27 20:26:45.89
?write.table

478:132人目の素数さん
12/04/27 21:07:02.32
>>476
真に必要がないのに、[, 1]などを削るのはいかがかと思うが、
次のようにすればどうだろう。
> x<-c(2, 3, 5, 4, 7, 9, 10, 2, 3, 4, 5)
> z<-c(3, 5, 9, 7, 13, 17, 19, 3, 5, 7, 9)
> y<-c(4, 6, 10, 8, 14, 18, 20, 4, 6, 8, 10)
> hoge <- function(x){
+ n <- nrow(x)
+ l <- rownames(x)
+ for(i in 1:n){
+ cat(paste(l[i], "\t"), fill = FALSE)
+ cat(x[i, ], fill = TRUE)
+ }
+ }
> hoge(rbind(x,y,z))
x 2 3 5 4 7 9 10 2 3 4 5
y 4 6 10 8 14 18 20 4 6 8 10
z 3 5 9 7 13 17 19 3 5 7 9

479:132人目の素数さん
12/04/27 23:02:47.19
>>477-478
ありがとうございます。ここまで対応して下さり感謝します。

480:132人目の素数さん
12/04/28 02:07:58.56
rを外部から操作する環境設定について質問します
gnupack URLリンク(gnupack.sourceforge.jp)のemacsを使って居ます
ESS (URLリンク(www.okada.jp.org))経由でRを利用しているのですが、
割合<-1/3
と書くと
「構文解析中に不正なマルチバイト文字列がありました」
とエラーになります
RGuiのR Consoleからはそういうエラーはでません。

割合の"合"が原因のようで、ESSのやりとりではsjisとして文字コードが解釈されてしまうため、R側が適切に認識できないような気がします。
emacsからRをutf-8で操作できれば問題は解消すると思うのですが、どのように設定することになりますか。

481:132人目の素数さん
12/04/28 05:34:39.27
presiceきたー
URLリンク(cran.r-project.org)

482:132人目の素数さん
12/04/28 08:45:12.17
>>480
お客さん、Emacsは初めて?
URLリンク(tanuzou.com)

483:480
12/04/28 09:53:19.07
>>482
いえ、はじめてではないです
set-buffer-process-coding-systemで
outputをutf-8にすれば入力は問題無くなるのですが、
今度は出力がおかしくなります
例えば、「 作業スペースを保存しますか? [y/n/c]: 」というメッセージは
?X y [ X ? ? ? [y/n/c]:
こうなってしまいます
set-buffer-process-coding-systemのinputをutf-8にしてもそうなったままです


484:132人目の素数さん
12/04/28 10:46:30.19
c <- 3:13
f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9)

cを階級値、fを度数としてヒストグラムを書きたいのですが、
barplot(f,names.arg=c,space=0)
こうしてヒストグラムを書いたときに0,5,10,15の横線を左から右端まで引く方法はありますか。

またc("101-120", "121-140", "141-160"...)というように、
階級値ではなく階級境界値が与えられたとき、
同じようにヒストグラムを書く方法があれば知りたいです。
その場合にstrsplit()を使って文字列を分割するということは考えたのですが、
その先がわかりませんでした。

485:132人目の素数さん
12/04/28 11:02:42.35
>>484
前半の方は無理じゃないかな

486:132人目の素数さん
12/04/28 12:49:02.44
c <- 3:13
f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9, 1)
x <- c()

for(i in 1:length(f)){
x<-append(x,rep(c[i],f[i]))
}
dx <- data.frame(x=x)

library(ggplot2)
ggplot(dx, aes(x))+ geom_bar(binwidth=1) + geom_hline(yintercept=seq(0,15, by=5))



487:132人目の素数さん
12/04/28 13:02:37.47
>>483
これで直るんじゃないかな。
URLリンク(rmecab.jp)
Rの側では何も設定しなくて大丈夫だから、設定はNTEmacsスレで聞いた方がいいかと。

488:132人目の素数さん
12/04/28 13:13:33.53
>>484
abline(h = seq(0, 15 , 5))

ってこと。ちなみにcは関数名なので、代入するとおかしくならない?

489:132人目の素数さん
12/04/28 13:21:10.49
c でも t でも変数名、ベクトル名に使えるけど、紛らわしいからやらないほうが吉

490:374
12/04/28 19:16:35.57
>>484 下の方
どうせ、「なんちゃって」ヒストグラムなんだから、そのままでもいいじゃん。ダメなの?
barplot(f, names.arg=c("101-120", "121-140", "141-160"...), space=0)


それだとあんまりなので、こんな感じ?
f <- c(1, 12, 19, 6, 15, 10, 2, 18, 15, 9)
a <- paste(seq(from = 101, by = 20, along.with = f), sep="-", seq(from = 120, by = 20, along.with = f))
# => [1] "101-120" "121-140" "141-160" "161-180" "181-200" "201-220" "221-240" "241-260" "261-280" "281-300"
c <- sapply(a, function(x) as.numeric(unlist(strsplit(x, "-")))[2])
dist <- c()
for (i in 1:length(c)) {dist <- c(dist, rep(c[i]-1, f[i]))}
hist(dist)

491:132人目の素数さん
12/04/28 20:38:01.56
放大でRで統計やってたね

492:132人目の素数さん
12/04/28 23:15:54.50
放送大学 授業科目案内 データからの知識発見('12)

URLリンク(www.ouj.ac.jp)
これかな
これぐらいの内容をざっと教えているのはいいね

493:132人目の素数さん
12/04/29 11:21:12.19
binary <- c(T,F)
binaries <- data.frame("1st"=binary)
cbind(binaries,"2nd"=binary,"3rd"=binary)

X1st 2nd 3rd
1 TRUE TRUE TRUE
2 FALSE FALSE FALSE

このデータの順列すべてつまり2^3個分を表示したいのですが、
どうすればいいですか。
TRUE,TRUE,TRUE
TRUE,TRUE,FALSE
TRUE,FALSE,TRUE
TRUE,FALSE,FALSE
こんな風にです

494:132人目の素数さん
12/04/29 15:04:56.43
>>493

library(gtools)
permutations(2, 3, c(T, F), repeats.allowed=TRUE)[8:1,]


495:132人目の素数さん
12/04/30 00:13:16.11
>>494
ありがとうございます!まさにそれです。
permutation、ずばり順列そのもののコマンドがあるのですか。
勉強になりました。

496:132人目の素数さん
12/05/03 20:30:15.24
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

497:132人目の素数さん
12/05/05 22:45:04.63
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

498:132人目の素数さん
12/05/06 13:20:53.64
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

499:132人目の素数さん
12/05/06 16:50:58.01
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

500:132人目の素数さん
12/05/08 14:04:54.27
RMeCabこんな感じに文字化けしちゃう

========================
險伜捷
"私は彼女のこ\x82"
========================


SetLocaleしてみた
============================
> Sys.getlocale
LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japanese_Japan.932"

> Sys.setlocale("LC_CTYPE","ja_JP.UTF-8")
警告メッセージ:
In Sys.setlocale("LC_CTYPE", "ja_JP.UTF-8") :
ロケールを "ja_JP.UTF-8" に設定せよとのOS のレポート要求は受け入れられません
==================================

なんかUTF-8に変えられないんだよね
環境はWin7/64bitです

だれか解決策教えて下さいな

501:132人目の素数さん
12/05/08 14:06:53.60
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

502:132人目の素数さん
12/05/08 14:07:16.16
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

503:132人目の素数さん
12/05/08 14:32:23.18
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

504:132人目の素数さん
12/05/08 19:17:29.11
>>500
Rとは関係なしにMeCabが使える状態なのかどうかは確認した?
RMeCabはRの中からMeCabをただ単にcallしているだけなので、
そもそもMeCabが使えなかったら、RMeCabも使えない。

505:132人目の素数さん
12/05/08 19:44:31.59
          __ノ)-'´ ̄ ̄`ー- 、_
        , '´  _. -‐'''"二ニニ=-`ヽ、
      /   /:::::; -‐''"        `ーノ
     /   /:::::/           \
     /    /::::::/          | | |  |
     |   |:::::/ /     |  | | | |  |
      |   |::/ / / |  | ||  | | ,ハ .| ,ハ|
      |   |/ / / /| ,ハノ| /|ノレ,ニ|ル' 
     |   |  | / / レ',二、レ′ ,ィイ|゙/   私は只の数ヲタなんかとは付き合わないわ。
.     |   \ ∠イ  ,イイ|    ,`-' |      頭が良くて数学が出来てかっこいい人。それが必要条件よ。
     |     l^,人|  ` `-'     ゝ  |        さらに Ann.of Math に論文書けば十分条件にもなるわよ。
      |      ` -'\       ー'  人          一番嫌いなのは論文数を増やすためにくだらない論文を書いて
    |        /(l     __/  ヽ、           良い論文の出版を遅らせるお馬鹿な人。
     |       (:::::`‐-、__  |::::`、     ヒニニヽ、         あなたの論文が Ann of Math に accept される確率は?
    |      / `‐-、::::::::::`‐-、::::\   /,ニニ、\            それとも最近は Inv. Math. の方が上かしら?
   |      |::::::::::::::::::|` -、:::::::,ヘ ̄|'、  ヒニ二、 \
.   |      /::::::::::::::::::|::::::::\/:::O`、::\   | '、   \
   |      /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ  ヽ、  |
  |      |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、  /:\__/‐、
  |      |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
   |     /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
   |    |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
    |   /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/

506:132人目の素数さん
12/05/09 12:16:57.42
>>504
コマンドプロンプト上からMeCab自体はつかえてるっぽいけど文字化けしてる
===============================
> 私は只の数ヲタなんかとは付き合わないわ。
私は只の数ヲ 險伜捷,荳€闊ャ,*,*,*,*,*
^ 蜷崎ゥ・繧オ螟画磁邯・*,*,*,*,*
險伜捷,荳€闊ャ,*,*,*,*,*
ネ 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
ゥ 險伜捷,荳€闊ャ,*,*,*,*,*
ニ 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
ヘ 險伜捷,荳€闊ャ,*,*,*,*,*
t 蜷崎ゥ・蝗コ譛牙錐隧・邨・ケ・*,*,*,*
き合わないわ。 險伜捷,荳€闊ャ,*,*,*,*,*
============================

CMDの文字コードがShift-JISで、MeCabがutf-8版だから
こうなるのはわかるんだけど
============================
932 (ANSI/OEM - 日本語 Shift-JIS)
============================


507:132人目の素数さん
12/05/09 13:04:31.70
>>506
Windowsのことはよくわからないけど、
コマンドプロンプトをuft-8になんとかして変更するとか(utf-8な代替ソフトを使うとか)、
MeCabに喰わせる前後で、nkfをかましてUTF-8/CP932の変換を行うとか、
MeCabを使うときだけ、文字化けしない環境(MacOSXやLinux)を使うとか、
真に解決しなければならないものなら、試す価値のある方法はたくさんありそうだ。

あと、SDOUTで文字化けするなら、ファイルにリダイレクトして、
UTF-8を扱えるテキストエディタで開くと文字化けしないのかどうかチェックすることも必要では?

508:132人目の素数さん
12/05/09 14:15:31.27
>>507
標準出力して、utf8形式でエディタ(TeraPad)にファイルを読み込んでみたら
なんと一部の文字列が文字化けしてました。MeCabの出力がutf-8ではないのか?
==========================
> echo "頭が良くて数学が出来てかっこいい人。それが必要条件よ。 " | mecab > out.txt
==========================

Terapadでout.txtをutf-8形式で読み込んでみた
===========================
" 名詞,サ変接続,*,*,*,*,*
?a?a? 記号,一般,*,*,*,*,*
? 名詞,固有名詞,組織,*,*,*,*
-? 記号,一般,*,*,*,*,*
? 名詞,固有名詞,組織,*,*,*,*
?? 記号,一般,*,*,*,*,*
w 名詞,固有名詞,組織,*,*,*,*
?a? 記号,一般,*,*,*,*,*
- 略 -
EOS
=========================
Terapadで対応している他のコード(Shift-JIS,JIS,EUC,Unicode)でも
読み込んでみましたが、Utf-8以外だと文字化けしまくってました。

Win7のコマンドプロンプトをutf-8に変更するのは、たしかレジストリを弄る必要あったな
URLリンク(sgry.jp)
あとでやってみます

nkfをかませる方法だとRMeCabのソースに書き加えて再ビルドするかんじですか?
それともR側にそういうオプションがあったりします?

509:132人目の素数さん
12/05/09 14:37:47.21
(続き)
>>507
さっきの文字化けの原因、わかりました。
"頭が良くて数学が~"の文字列がCP932なのにMeCabに読み込ませていたからでした。
CMDをutf-8にしてもう一度出力してエディタで開いてみたところ
========================
" 名詞,サ変接続,*,*,*,*,*
頭 名詞,一般,*,*,*,*,頭,アタマ,アタマ
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
良く 形容詞,自立,*,*,形容詞・アウオ段,連用テ接続,良い,ヨク,ヨク
て 助詞,接続助詞,*,*,*,*,て,テ,テ
数学 名詞,一般,*,*,*,*,数学,スウガク,スーガク
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
出来 動詞,自立,*,*,一段,連用形,出来る,デキ,デキ
- 略 -
EOS
=========================
正常に表示されました。やったね。

つぎはRとMeCabのオプション調べてみます。
作業はなるべくWin7で完結させたいです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch