12/05/18 18:05:46.17
Rjpwikiに回答したくないので(スルー検定失格の烙印を押されたくないので)、こちらに書く。
> line <- '127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "hURLリンク(www.example.com)" "Mozilla/4.08 [en] (Win98; I ;Nav)" '
> m <- gregexpr("(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1]?\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5]) ", line, perl=TRUE)
> regmatches(line, m)
[[1]]
[1] "127.0.0.1 "
正規表現が書けるという前提だけど、上に示すとおり格段に難しいわけではない。
従って「非常に面倒かどうか」に対する答えは「全く面倒ではありません。ほぼコピペの世界です。」だ。
517:132人目の素数さん
12/05/19 00:29:19.34
>>514-515
ありがとうございます。>>515がまさに望んでいたものでした。
outer関数についてよく勉強します。
518:132人目の素数さん
12/05/19 08:44:41.03
a1 <- c("a", "b", "d", "f")
a2 <- c("b", "a", "f", "c")
a3 <- c("z", "m", "f", "a")
cbind(a1,a2,a3)
それぞれの行で"a"がある回数を求め、
処理結果をベクター、この場合にはc(1,1,0,1)としてまとめるにはどうすればよいでしょうか
519:132人目の素数さん
12/05/19 09:22:50.09
>>518
ヒントを差し上げるので自力で考えてください。
> length(grep("a",c("b", "c", "d", "f")))
[1] 0
> length(grep("a",c("a", "b", "d", "f")))
[1] 1
> length(grep("a",c("a", "a", "d", "f")))
[1] 2
行単位で処理を繰り返す関数はapply()
520:132人目の素数さん
12/05/19 15:06:19.07
# apply()を使わない手を考えようとしたが無理だった。
a1 <- c("a","b","d","f")
a2 <- c("b","a","f","c")
a3 <- c("z","m","f","a")
dat <- cbind(a1,a2,a3)
dat
dat == "a"
margin.table(dat == "a", margin = 1)
apply(dat == "a", MARGIN = 1, FUN = sum)
521:132人目の素数さん
12/05/19 15:15:20.42
>>520
おぉ、それなら、
> rowSums(dat == "a")
[1] 1 1 0 1
もうこれでよさそう。
もう少し大きなテーブルでやってみると、
> d <- cbind(sample(letters[1:5],100,replace=TRUE),sample(letters[1:5],100,replace=TRUE),sample(letters[1:5],100,replace=TRUE))
> rowSums(d == "a")
[1] 1 1 0 0 1 0 0 1 0 0 2 0 1 0 2 0 0 1 2 0 0 0 1 0 1 1 1 1 1 1 3 1 1 2 0 1 1
[38] 0 2 0 2 1 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 2 0 2 0 0 1 0 0
[75] 0 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 2 0 1 0
大丈夫そうだ。
# ヒントだけのつもりだったのに。。。
522:132人目の素数さん
12/05/19 16:52:03.11
>>521
その手があったか。
速度的には
rowSum()
が有利と思われる。
523:132人目の素数さん
12/05/19 20:49:13.27
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
524:132人目の素数さん
12/05/19 23:04:29.94
>>519-522
みなさんありがとうございます。
applyとrowsum()の両方を使えるようにします。
525:132人目の素数さん
12/05/20 00:05:52.54
>>524
rowSums() だった。大文字小文字を区別するので注意。
URLリンク(entertainment-lab.blogspot.jp)
526:132人目の素数さん
12/05/23 06:06:44.69
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
527:132人目の素数さん
12/05/23 08:15:18.64
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
528:132人目の素数さん
12/05/24 21:30:30.29
すいません、ほんっとに初歩的な質問なんですが…
Wikiをざっと見ても行列Tipsを検索しても見当たらないので質問させてください
データフレームを数値行列に変換させるにはどうすればよいのでしょうか?
列成分をデータフレームから指定しても、as.matrixなどの変換をしても、
%*%の操作をすると数値行列にしてくださいと言われます
とりあえずデータフレームの数値を使って行列計算をしたいので、誰かサクッと教えていただけると助かりますm(_ _)
m
529:132人目の素数さん
12/05/25 01:12:42.02
as.matrixの前後でstr()してみて。
多分factorになっていて数字ではないのではないかと思う。
530:132人目の素数さん
12/05/25 03:03:02.18
そうでした
そしてこれを数字にするには…
531:132人目の素数さん
12/05/25 03:04:41.50
as.characterしてas.numericで数値化されるかどうか
532:132人目の素数さん
12/05/25 09:13:25.21
>>531
ヘルプには
To transform a factor ‘f’ to
approximately its original numeric values,
as.numeric(levels(f))[f]’ is recommended and slightly more
efficient than ‘as.numeric(as.character(f))’.
て書いてあるけどね。
533:132人目の素数さん
12/05/25 15:01:44.54
>>532
そんなやり方があるのか、覚えられないなでも
534:132人目の素数さん
12/05/25 16:48:14.73
>>533
今、確認してみたら、as.numeric()だけでも元に数字に戻るね。
> (a <- factor(sample(1:5, 10, replace = TRUE)))
[1] 2 3 1 1 1 1 1 5 2 2
Levels: 1 2 3 5
> as.numeric(a)
[1] 2 3 1 1 1 1 1 4 2 2
> as.numeric(levels(a))[a]
[1] 2 3 1 1 1 1 1 5 2 2
> as.numeric(as.character(a))
[1] 2 3 1 1 1 1 1 5 2 2
前からこうだったっけ?
いつの間にか仕様が変わった?
535:532, 534
12/05/25 16:50:52.24
あっ、ごめん。たまたまsample()の出力がわかりにくかっただけみたいだ。
as.numeric()だと「5」のところが「4」になっているから、
as.numeric(factorクラス)はやっぱり駄目だ。
536:132人目の素数さん
12/05/25 16:54:11.34
もっと顕著に分かるようにしてみた。スレ汚しすまん。
> (a <- factor(sample(1:100, 10)))
[1] 24 42 40 33 66 51 20 100 91 26
Levels: 20 24 26 33 40 42 51 66 91 100
> as.numeric(a)
[1] 2 6 5 4 8 7 1 10 9 3
> as.numeric(as.character(a))
[1] 24 42 40 33 66 51 20 100 91 26
> as.numeric(levels(a))[a]
[1] 24 42 40 33 66 51 20 100 91 26
537:132人目の素数さん
12/05/27 07:33:26.16
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
538:132人目の素数さん
12/05/27 08:50:40.45
>>536
ご丁寧にどうもです!
as.numericだと変な数字になるから悩んでたのですが、そういう方法もあったのですね
as.matrixだけでも計算できない場合でもこれでよさそうです
ありがとうございました
539:132人目の素数さん
12/05/29 04:32:41.65
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
540:132人目の素数さん
12/06/03 20:40:13.33
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
541:132人目の素数さん
12/06/03 23:20:55.48
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
542:132人目の素数さん
12/06/04 00:09:13.82
pattern <- c("ab","ef")
target <- c("abaa","abef","aefe","cafe")
のように、2個のベクトルがあるとき、
pattern の各要素が target の各要素に含まれるかどうかを検索したい。
for 文を使わずに済ます、何かいい方法ある?
例えば上の例では、
[1] "abaa" "abef" "aefe"
のように出力されたら OK です。
つまり、コマンドライン的なら
grep -f pattern target
のようなことを R を使ってやりたいわけです。
543:132人目の素数さん
12/06/04 01:07:52.08
>>542
?grepで意味が分からないなら
もうsystem()でいいじゃん
544:132人目の素数さん
12/06/04 07:28:20.53
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
545:132人目の素数さん
12/06/04 09:11:46.10
>>543
grep() は、pattern の vector 長が 2 以上の場合、最初の要素しか
使われないのです。その上、target 内の要素の位置をベクトルで返す仕様。
せめて、論理値をベクトルで返してくれたらね。
残念なことに R を動かす環境には grep コマンドがなく、
現在は unix 環境で前処理してるけど、面倒臭いなあと思って
良い方法がないか尋ねた次第です。
546:132人目の素数さん
12/06/04 09:16:32.70
あ、grepl は、論理値ベクトルを返してくれるんだね。知らなかったわ。
547:543
12/06/04 09:31:57.61
grep関数群のヘルプを読んだ上で質問していたのか。
なら、下記はどうだろう?
> target[unique(as.numeric(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))]
[1] "abaa" "abef" "aefe"
で、関数化すれば
> f542 <- function(x, y) {target[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]}
> f542(pattern, target)
[1] "abaa" "abef" "aefe"
となる。
apply関数群もなしにすましたいという後出しは禁止。
548:543
12/06/04 09:38:53.74
おぉ、凡ミス
誤
f542 <- function(x, y) {target[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]}
正
f542 <- function(x, y) {y[unique(as.numeric(sapply(1:length(x), function(i){grep(x[i], y)})))]}
549:542
12/06/04 10:34:25.66
>>548
なるほど。確かに目的の処理ができます。
どうもありがとう。
私の頭がforで、applyできていませんでした。
550:132人目の素数さん
12/06/04 12:34:01.89
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
551:132人目の素数さん
12/06/04 19:03:37.28
頭の体操
> target[unique(c(sapply(pattern, function(x) grep(x, target))))]
[1] "abaa" "abef" "aefe"
552:551
12/06/04 19:07:14.04
こっちのほうがいいかも
> unique(c(sapply(pattern, function(x) grep(x, target, value=TRUE))))
[1] "abaa" "abef" "aefe"
553:542
12/06/04 19:39:49.43
>>552 は、target内の要素が相異なることが前提になりますね。
あとは、target内の要素の順序を保つようにならないものかな。
554:542
12/06/04 19:47:57.32
まあ、ソートすればOKと。
pattern <- c("ab","ef"); target <- c("abaa","abef","aefe","cafe","abef")
target[sort(unique(c(sapply(pattern, function(x) grep(x, target)))))]
555:132人目の素数さん
12/06/04 19:49:05.43
>>551, 552
あぁ、そうだね。
わざわざ1:lenght(pattern)でやるより、簡潔にsapply(pattern, function(x) ...)でよかった。
ご指摘ありがとう。
> target <- apply(matrix(sample(letters[1:6], 4 * 10000, replace = TRUE), ncol = 4), 1, paste, collapse = '')
> pattern <- c("ab","ef")
> system.time(target[unique(unlist(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))])
ユーザ システム 経過
0.004 0.000 0.005
> system.time(unique(c(sapply(pattern, function(x) grep(x, target, value=TRUE)))))
ユーザ システム 経過
0.004 0.000 0.007
速度的にはあまり変わらないみたいだが。
556:542
12/06/04 21:20:11.29
ミスがありました。>>553 は unlist しないと駄目でした。
target[sort(unique(unlist(sapply(pattern, function(x) grep(x, target)))))]
あと、greplを使えないかなと思い、>>555 氏の方法でランダム生成した
サイズ 10000 の target に対し、
target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)]
を適用してみましたが、apply系の関数を2重に使うと、当たり前ですが
遅くなりますね。
> pattern <- c("ab","ef")
> target <- apply(matrix(sample(letters[1:6], 4 * 10000, replace = TRUE), ncol = 4), 1, paste, collapse = '')
> system.time(target[unique(unlist(sapply(1:length(pattern), function(i){grep(pattern[i], target)})))])
user system elapsed
0.01 0.00 0.02
> system.time(target[sort(unique(unlist(sapply(pattern, function(x) grep(x, target)))))])
user system elapsed
0.02 0.00 0.02
> system.time(target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)])
user system elapsed
0.05 0.00 0.05
557:542
12/06/04 21:46:39.76
rowSums は apply(x,1,sum) のエイリアスだと思ってたら、
rowSums のほうが、だいぶ速いんだね。知らなかったよ。
> system.time(target[apply(sapply(pattern,function(x)grepl(x,target)),1,any)])
user system elapsed
0.05 0.00 0.05
> system.time(target[as.logical(rowSums(sapply(pattern,function(x)grepl(x,target))))])
user system elapsed
0.01 0.00 0.02
558:132人目の素数さん
12/06/04 21:52:36.36
>>557
投稿しようとしたら書かれてた
rowSumsはCで書かれてるはず
lapplyも同様
sapplyはlapplyを呼んでいる
applyはRで書かれていて遅い
559:542
12/06/04 22:04:53.47
>>558
へえ。applyは、なるべく避けた方が良さげですね。勉強になりました。
560:132人目の素数さん
12/06/04 23:15:00.88
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
561:132人目の素数さん
12/06/05 07:03:58.00
R.exeのインストールされていないwindowsPCで、R言語で書かれた
プログラムを実行する手段はありますでしょうか。
(Fortranの実行ファイルみたいなイメージです)
562:132人目の素数さん
12/06/05 07:09:23.62
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
563:132人目の素数さん
12/06/05 15:37:11.75
SAS使用歴20年、R半年の者です。
RにはSASで言うところのマクロみたいな物はないでしょうか?
564:132人目の素数さん
12/06/05 20:30:53.61
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
565:132人目の素数さん
12/06/05 22:40:37.65
R2.15.0でRODBCとXLConnectを同時に使用しようとすると名前空間エラーがでませんか?
566:132人目の素数さん
12/06/06 00:22:27.48
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
567:132人目の素数さん
12/06/07 09:54:47.13
放置されて可哀想なので、私には答える能力がないけど、答えてみる。
>>561
?compiler::compile
このあたりを入り口に文献を読んでみて。
ところで、R.exeが入ってなくても、R.dllは入れてもいいの?
やりたいことを達成するには、Cなどで書いて、
R.dllが一緒にインストールされるソフトを作成する必要がある気がする。
>>563
SASはほとんど使った経験がないから、回答する資格がないけど、
R言語そのものがRのマクロとも言えます。
お手元のR入門書の「関数化」の項を読んでみてください。
>>565
異なる作者による同じ目的のパッケージだと、そのようなことは起こるかも知れません。
何千もある投稿パッケージの全てにおいて整合性がとれているわけではありません。
再現性が確認できたら、RODBCとXLConnectのメンテナに報告するとよいでしょう。
568:132人目の素数さん
12/06/09 23:34:52.27
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
569:132人目の素数さん
12/06/10 06:29:56.30
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
570:132人目の素数さん
12/06/13 20:54:59.86
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
571:132人目の素数さん
12/06/18 14:21:06.94
Rjpwikiの「Rだけでデータクリーニング」。
真摯な回答をする人が何人もいて、偉いな。
572:132人目の素数さん
12/06/22 16:40:13.73
荒らされていてここじゃ書きずらくないですか?
Rってプログラミング言語なのでプログラムスレッドに移住するそうですよ。
無理にとは言わないので出来たらお願いしますね。
統計解析R たぶんpart3くらい
スレリンク(tech板)
573:132人目の素数さん
12/06/24 14:58:20.27
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
574:542
12/06/27 21:28:07.95
sqldf package が便利なことに気付いた。
575:132人目の素数さん
12/06/27 22:14:18.48
OpenOffice Calcのファイル.odsから直接Rのデーターフレームに
読み込む方法はないかなあ。
cvsに変換して読み込んでいるけど、ちょっとだけメンドイ。
576:132人目の素数さん
12/06/28 13:28:01.62
>>575
read.ods() from ROpenOffice
URLリンク(www.omegahat.org)
577:132人目の素数さん
12/06/28 16:25:13.46
>>576
サンクス!
CRAN関連ばかり探していたから引っかからなかった訳だ。
ダウンロードして見たが、CRANじゃないのでインストール方法が判らん。
初心者なんでもうちょっと勉強してみる。
578:132人目の素数さん
12/06/28 16:40:01.10
>>577
$ sudo R CMD INSTALL Rcompression_0.93-2.tar.gz ROpenOffice_0.4-0.tar.gz
でOK。
Rcompressionがない状態でROpenOfficeをインストールしようとすると、
$ sudo R CMD INSTALL ROpenOffice_0.4-0.tar.gz
* installing to library ‘/usr/local/lib/R/site-library’
ERROR: dependency ‘Rcompression’ is not available for package ‘ROpenOffice’
* removing ‘/usr/local/lib/R/site-library/ROpenOffice’
とおこられちゃう。
Windowsで R CMD INSTALLを使う場合は、 別途Windows toolsetが必要らしい。
URLリンク(cran.r-project.org)
579:132人目の素数さん
12/06/28 17:39:04.25
>>578
重ね重ね丁寧に答えていただき、有難うございます!
580:132人目の素数さん
12/07/02 23:44:45.34
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
581:575
12/07/04 19:45:39.22
Window toolsetがイマイチ判らず、ROpenOffice試せずにいたのですが、
Googleドキュメントのspreadsheetで read.csv("URL") から直接データーを
取り込めることを知り、色々試しているところです。
現時点では、spreadsheetのセル内に日本語使用すると、read.csv 失敗します。
英文字のみであれば、問題なく取り込めています。
バージョンの新しRだど2byte文字処理で不具合出るという話もあったので、
現状では出来るだけ日本語使用しないほうが良いみたいですね。
それから、Google spreadsheet をcsv形式でダウンロードしたファイルは、
Shift-JISにデコードし直さないと read.csv で取り込めませんでした。
UTF-8形式だったから読み込めなかったのかなあ。
まあそれでも Google spreadsheet が使えることが判ったので、
データー入力ツールはこれでいくことにします。
582:132人目の素数さん
12/07/05 09:17:17.75
>>581
ヘルプぐらい読んでもよいと思うよ。
fileEncoding: character string: if non-empty declares the encoding used
on a file (not a connection) so the character data can be
re-encoded. See the ‘Encoding’ section of the help for
‘file’, the ‘R Data Import/Export Manual’ and ‘Note’.
encoding: encoding to be assumed for input strings. It is used to mark
character strings as known to be in Latin-1 or UTF-8 (see
‘Encoding’): it is not used to re-encode the input, but
allows R to handle encoded strings in their native encoding
(if one of those two). See ‘Value’.
583:575
12/07/05 19:39:30.67
>>582
サンクスです! help読んでなかった・・・・
read.casv("file name", encording="UTF-8")で無事読み込めました。
これでだいぶ助かります。
584:132人目の素数さん
12/07/11 12:33:21.72
URLリンク(www.facebook.com)
てっきり高校生か未熟な大学生と思っていたら、
案外おっさんだったw
老けて見えるだけかな。
何にせよ、某所には、公共性の高いものだけに絞って書き込んで、
それ以外は、ここ(2ch)に書き込んで欲しいぞ。
c(letters[1:26])とか、初心者や入門者を混乱させることを目的とした
嫌がらせとしか思えないぞ。
585:132人目の素数さん
12/07/20 12:52:33.55
Mac OSX, Cocoa 環境でアプリ内から/Library/Frameworks/R.framework/Resources/にある実行ファイルを叩いてRを使っています。
[ NSTask launch... ] といった感じです。
しかし、スクリプトの末尾にq()を付けてもRの実行ファイルが動いたままになります(アクティビティモニタで確認)。
NSTask のterminateを呼び出しても消えてくれません。
どうもこれが悪さをして意図した動作をしてくれ内容です。
対処方法ご存知のかたがいましたらご回答をお願いします。
586:132人目の素数さん
12/07/20 13:15:11.45
>>585
q()の引数saveを省略すると"ask"になるのでは?
ヘルプには
| The default is to ask in interactive use but may be overridden by
| command-line arguments (which must be supplied in non-interactive
| use).
って書いてある。
つまり、実験せずに書くが、q()と書いても、入力待ちプロンプトで無限ループになってる気がするぞ。
587:132人目の素数さん
12/07/20 13:52:36.69
>>585
q("no")
とすれば、入力待ちにならないのでは?
588:132人目の素数さん
12/07/20 14:00:19.17
レスありがとうございます。
q()の引数にnoを追加しましたが、依然挙動不審です。
どうもコマンド引数に < script.r と指定したスクリプトを読み込めない場合があるようです。
なんこれ? な状況ですが。
最小単位の構成から実験してみます。
589:132人目の素数さん
12/07/20 14:05:39.29
>>585
いずれにせよ、q("no")やq("yes")は関係ない。
それらがなくても処理は終了する。
$ echo 'a <- 1' > /tmp/tmp.R
$ echo 'print(a)' >> /tmp/tmp.R
$ /Library/Frameworks/R.framework/Resources/R CMD BATCH /tmp/tmp.R out.txt
$ tail -7 out.txt
> a <- 1
> print(a)
[1] 1
>
> proc.time()
ユーザ システム 経過
0.825 0.051 1.074
ちゃんと終了する。
590:589
12/07/20 14:09:30.38
あと、
$ ls -l $(which R)
lrwxr-xr-x 1 root wheel 47 4 27 16:45 /usr/bin/R -> /Library/Frameworks/R.framework/Resources/bin/R
だから、普通に
$ R CMD BATCH スクリプト 結果ファイル
でいいよ。
591:馬鹿を焼く描写 ◆ghclfYsc82
12/07/22 16:58:54.77
★★★学歴格差:無意味
★★★学力格差:尊重しろ
★★★能力格差:最大限利用せよ。
東大や京大にだって馬鹿は沢山居てるんだヨ。
学力格差と能力格差を認める理想社会を実現しろや。要するに:
★★★『馬鹿は無意味なので不必要だから、従って無能は静かにせよ。』★★★
っちゅうこっちゃ。低脳が騒ぐのはワシが許さんのや。
ちゃんと読め。
描
592:132人目の素数さん
12/07/26 09:47:52.47
行列の作り方について質問です
xという1×n個の配列があって、
yという行列の要素を
y[i][j] = x[i]+x[j]としたいとき、
y行列を作る文はどのようにしたら良いのでしょうか
593:132人目の素数さん
12/07/26 10:44:18.59
>>592
> n <- 10
> x <- 1:n + 10
> x
[1] 11 12 13 14 15 16 17 18 19 20
> outer(x, x, "+")
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 22 23 24 25 26 27 28 29 30 31
[2,] 23 24 25 26 27 28 29 30 31 32
[3,] 24 25 26 27 28 29 30 31 32 33
[4,] 25 26 27 28 29 30 31 32 33 34
[5,] 26 27 28 29 30 31 32 33 34 35
[6,] 27 28 29 30 31 32 33 34 35 36
[7,] 28 29 30 31 32 33 34 35 36 37
[8,] 29 30 31 32 33 34 35 36 37 38
[9,] 30 31 32 33 34 35 36 37 38 39
[10,] 31 32 33 34 35 36 37 38 39 40
こういうことか?
594:132人目の素数さん
12/07/26 11:55:59.91
>>593さま
そうです!
ありがとうございます!
助かりました
595:132人目の素数さん
12/07/26 12:08:58.20
>>594
助かったのなら何よりなんだけど、
宿題の類だったのなら、確認もせずに教育の邪魔をして教員に申し訳ない。
596:132人目の素数さん
12/08/05 22:25:40.52
n=1,2,...,Nに対してP(n)のデータがあります
このデータがどの確率分布か言い当てることはできますか
597:132人目の素数さん
12/08/05 23:48:09.66
>>596
これまた宿題っぽい。
質問の動機や、動機を得るに至った背景を説明してもらえますか
598:132人目の素数さん
12/08/07 01:02:34.43
>>597
R触ってみようと思って最初に思い浮かんだのがこれ
なんだけど探しても見つからないもんだからここで聞くことにした
599:132人目の素数さん
12/08/07 04:10:01.29
>>598
ググると「コルモゴロフ-スミルノフ検定」というのが出てきた。
600:132人目の素数さん
12/08/07 13:49:09.80
>>596
>>599さんの答えだけだと、初心者はどうしてよいか分からないと思うので助言します。
> RSiteSearch("Kolmogorov-Smirnov")
以上。
601:132人目の素数さん
12/08/08 15:54:24.83
Mac版Rのデフォルトでのフォントって何でしたっけ?
コマンド入力中にうっかりよくわからないキー押してしまったみたいでフォントが変わってしまって・・。
602:baka描 ◆ghclfYsc82
12/08/08 17:29:54.67
描
>14 名前:132人目の素数さん :2012/08/07(火) 17:39:00.96
> >>13
> 旧コテ猫あらため描つまりお前自身の事だろ、増田哲也に限り無く近い人間。
> 筑波大学で痴漢と言えば増田哲也だから連続性も明らかになってるから
> わざわざ限り無く近い人間なんて呼び方しなくていいんだけどな
>
603:132人目の素数さん
12/08/08 19:18:57.57
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
604:132人目の素数さん
12/08/08 21:07:17.90
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
605:132人目の素数さん
12/08/12 19:33:37.42
Rで、グラフとして描画されているデータをテキスト出力出来ますか?
Rを使える人が私以外いないので、
Excelで配布しなければなりません。
今は描画前の関数データを張り付けていますが、
縦軸が変わってしまうので、グラフ描画からそのまま出力したいと思っています。
606:132人目の素数さん
12/08/13 09:08:15.60
>>605
意味が分からない。
> Rで、グラフとして描画されているデータをテキスト出力出来ますか?
Rグラフィックで描画するには、描画するためのデータがあると思うのだけど。
もしそうなら、そのままテキスト出力すればよいと思うが、
そんなことをわざわざ質問するとは思えないから、よく分からない。
テキスト出力とExcelの関連も意味不明。
> a <- data.frame(x=runif(10), y=runif(10))
というデータフレームがあったとして、
> plot(a)
とRグラフィックに描画して、次のようにすればテキスト出力される。
> a
x y
1 0.1401729 0.223354073
2 0.8426009 0.880151101
3 0.2795089 0.002605373
4 0.8179064 0.131089282
5 0.3903741 0.580761547
6 0.1708031 0.793535840
7 0.8964184 0.198217040
8 0.6109237 0.136335747
9 0.7519352 0.367561028
10 0.6382441 0.429468494
607:132人目の素数さん
12/08/13 09:53:15.56
>>606
なるほど。データフレームにしてしまえばトラブルを解消できそうです。
今まで、xとyを別々に指定するような作業をしていたので気が付きませんでした。
ありがとうございました。
608:132人目の素数さん
12/08/26 09:50:32.98
教えてください。
開始日,数
1,5
2,2
3,4
4,8
……
30,5
のような時系列データの信頼区間やピークを求めたいのですが、
解説サイトとかないでしょうか。
609:132人目の素数さん
12/08/27 11:10:35.51
>>608
ピークを得るためには、当てはめる関数の形が必要でしょう。
あなたの研究対象に対する先験的知識が本質的に必要だと思われます。
例えばポアソン分布に当てはめられるタイプのデータだと次のようになります。
d <- data.frame(x=1:30, y=round((dpois(1:30,10) + runif(30, max = 0.01))*100))
barplot(d$y, names.arg = 1:30)
こんなサンプルデータで、nls()を使って、
m1 <- nls(y ~ (a * (lambda^x*exp(-lambda)/gamma(x+1)) + b),
start = c(a = 1, b = 1, lambda = 10), data = d)
とすると、
> max(predict(m1))
[1] 13.14048
> which.max(predict(m1))
[1] 9
9日目で最大値13のピークになることが分かります。
610:132人目の素数さん
12/09/14 21:05:08.72
windowsXP世代の4GBマシンで100万レコードオーダーのdataframeを
ggplot2で描画しようとするとメモリオーバーになってしまう
なんかうまい方法はないものか
611:132人目の素数さん
12/09/15 00:15:23.75
>>610
分割して描画すればどうなる?
ggplot2じゃないけど、例えばこんな風に。
> d <- data.frame(x = runif(100), y = runif(100))
> plot(d[1:25, ], xlim = range(d$x), ylim=range(d$y))
> points(d[26:50, ])
> points(d[51:75, ])
> points(d[76:100, ])
612:132人目の素数さん
12/09/15 09:17:37.47
>>611
どうもです
確かに仰る通り、::baseのplotならば可能です
後だしですんませんが
・見た目のキレイさ
(というか先進性というか凄いことやってそうに見せられるというか。。苦笑
・カテゴリカル変数20こ程度
・引き継ぎやデータ更新等を考えて
作図のためのデータハンドリングのコーディングは最少にしたい
・自分自身の興味w
のような趣旨でggplot2でやりたいのです
613:132人目の素数さん
12/09/15 20:06:17.90
>>610
32bit?64bit?
614:132人目の素数さん
12/09/15 21:09:24.15
>>613
32bitです
会社の端末なんで詳細は不明ですが
5年くらい前の型で家庭用PCです
Rは2.15.0でパッケージは最新です
ggplot2_0.9.2.1
615:132人目の素数さん
12/09/15 22:21:52.64
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
616:132人目の素数さん
12/09/17 13:49:31.71
ggplotでも分割してできるでしょ。
それでも最後の描画の際にエラーになっちゃうかな?
617:132人目の素数さん
12/09/18 00:00:46.90
>>616
はい。
ggplot2オブジェクトにそうさをくわえることはできますが、
プロットするさいにメモリオーバーエラーとなってしまいます。
(プロットせずにggsaveしようとしてもおなじです)
618:132人目の素数さん
12/09/18 14:41:03.61
>>617
じゃあ、データを間引きするしか方法がないのでは?
そもそも100万レコードを視覚化するのに、
そのまま100万レコードが必要なのか?
100万からサンプリングして1万で図を描いても同じ図になる気がするぞ。
619:132人目の素数さん
12/09/18 23:07:04.27
RにはReduce見たいな機能はないのかな
620:132人目の素数さん
12/09/19 00:02:17.70
>>618
そういわれるとそうなのです
ただ、問題は>>617なので、なぜそうなるのか分かって、
そこだけ回避できるようになれればよいのですが・・・
621:132人目の素数さん
12/09/19 09:39:21.27
そもそも全部描画できたとして、それは見るに耐えるものなのか?
例えば散布図なんかだと100万点どころか、1万点ですら多すぎて見づらいから、適切に間引くのが普通だ。
622:132人目の素数さん
12/09/20 10:57:36.08
>>620
症状から考えて
ggplot2内部的に、
画面表示や画像ファイル保存などの描画時に、
データフレームをSVGみたいな描画用データに変換してから
その描画用データを参照して描画するんだと思う
だから、100万データを扱うことはできても、
グラフ描画(保存も含む)ができない。
しかも、データをどれだけ分割しようと
最終的に描画する際には、
そのグラフに使用する全描画用データを
同時にメモリに保持している必要があるから、
分割が意味をなさない。
だから、どうしても100万データ分使いたいんだったら、
メモリオーバーしない量のデータで一旦画像に保存して、
その画像同士を重ね合わせるみたいな方法をとるしかないかな。
画像処理の手間が必要になりますが。
あるいは、グラフ用のデータを
ダイナミックアロケーションできるような方法が
あるのか知りませんが、なければ作るとか……w
623:132人目の素数さん
12/09/20 16:26:54.47
>>622
そうだな。>>622の言うとおり、ベクタ構造を保持するからメモリ不足になる。
適当なインターバルでラスタ変換をかませればよろし。
png()で分割出力して、system("convert ...")で重ねる。
624:132人目の素数さん
12/09/20 22:19:32.83
>>622
>>623
なるほど頭の中が整理されました!
・データの分布を壊さずにデータを間引く関数を作る
・分割描画して最後にラスタデータを統合する関数を作る
・高スペックPCを導入する()
のどれかって感じですね!
ちょっと試してみるデス
625:625
12/09/21 00:01:09.50
√625 = 25
626:132人目の素数さん
12/09/26 20:01:39.27
質問です。
任意の行列xを縦に複数回並べたいです。
こんな感じで書いてみたのですが、
forを使わず作れますか、
rep関数だけで実現できないですか?
mat <- NULL
x <- matrix(1:9, 3, 3)
for(i in 1:5){
mat <- rbind(mat,x)
}
mat
627:132人目の素数さん
12/09/26 22:27:54.77
>>626
>rep関数だけで実現できないですか?
できる
ヒント:
> i <- 5; paste("rbind(", paste(rep("x", i), collapse = ","), ")")
[1] "rbind( x,x,x,x,x )"
628:132人目の素数さん
12/09/26 23:09:49.40
Reduce(rbind,lapply(1:5,function(x) matrix(1:9,3,3)))
629:132人目の素数さん
12/09/26 23:40:06.82
>>627-628 ありがとうございます\(^o^)/
630:132人目の素数さん
12/10/01 04:48:45.78
>>628
do.call(rbind,lapply(1:5,function(x) matrix(1:9,3)))
5回じゃなくてもっと沢山くっつけるならdo.callのほうが速いみたい
631:132人目の素数さん
12/10/01 23:26:00.72
Rってこれから主流になるんですか?
ビッグデータ界隈でR!R!R!騒がしいです。
632:132人目の素数さん
12/10/02 12:27:05.94
主流になるのではないかと言われているけど、必ずそうなるとは言い切れない。
でも使えておいて損はないと思うよ。
633:132人目の素数さん
12/10/02 15:05:16.56
>>631
ビッグデータって何GBくらい?
素朴に考えると、Rらしいプログラムの書き方で処理するときには、
データを全てPCのメモリ上に読み込まなければならない。
しかし、オラクルに格納されたデータが、
PC1台のメモリにスッポリ収まるとはとうてい考えられない。
634:132人目の素数さん
12/10/02 19:43:58.58
>>633
それは時代遅れ。大規模なデータ処理では、データを固定したまま
処理をおこなう処理系自体をデータのあるところに移動しないと間に合わない。
既に昨年、Oracle社はデータはRDBMS上においたまま Rのコードを
実行できる仕組みを提案してるよ。フロントエンドはRで、実行はRDBMSか、
おそらく Exadata という専用ハードの上で行うと思う。
URLリンク(blogs.oracle.com)
635:132人目の素数さん
12/10/02 20:20:33.97
>>634
なるほど、オラクルサーバがR(互換)インタプリタを内蔵しているというわけですか。
Rが凄いというよりもORACLEの商魂が凄い。
そういえば、DBMSや統計ソフトのベンダーが
「顧客のニーズを読めてませんでした」とか言ったらギャグになる。
636:132人目の素数さん
12/10/03 20:37:17.21
>>634
その手の話はOracleに限った話ではない
URLリンク(www.revolutionanalytics.com)
と言うより、Oracle使ってた人がRなんか使うのかね?
そういう人はSASとか使うような気がするが。
637:132人目の素数さん
12/10/03 22:48:32.44
>>636
うちはOracleとRを使ってる。会社のデータはOracleで管理してるが、
それを可視化したり、対話的に解析するのにRが便利。
両者はODBCデータソース経由でシームレスに繋がる。
確かにSASはいいんだけどライセンス料金が高いので使える人が
限られてしまうが、Rならそういうこと気にせずに済むのがいい。
ただしRはサポートが課題になりやすいけどね。
もしOracleが有償でもRのサポート提供するなら、それを評価する
企業ユーザもいるんじゃないかな?
638:132人目の素数さん
12/10/03 23:16:24.69
Rで分析が済ませるデータ量の会社はそれでもいいけど、そんな会社はDB側もAccessで十分そうね。
639:132人目の素数さん
12/10/03 23:33:39.40
Rでは社内で解析したものを環境丸ごと渡して
加工してもらうこともできるのかな?
640:132人目の素数さん
12/10/03 23:44:58.20
データサイエンティストとして経験を積むにはどの業界が良いのだろうか?
色々考えてみた。
SNS データ量が多い。分析前提でDBが設計してある。データドリブンが前提
銀行 顧客属性、預貯金データ保有、ローン情報
保険 顧客属性、病歴情報保有
クレジットカード 顧客属性、ローン情報、購買データ保有
SNSかクレジットカードだろうか。
641:132人目の素数さん
12/10/03 23:53:37.59
Tポイントカードの新会社だろ、JK!w
642:132人目の素数さん
12/10/03 23:56:05.36
POSデータがあれば、どこでもおk
643:132人目の素数さん
12/10/04 00:01:14.41
Tポイントカード、POSデータの情報量なんてたかが知れてると思うな。
644:132人目の素数さん
12/10/04 00:28:41.27
>>637
SASのライセンス料を気にしてOracleのライセンス料を気にしないのは謎だな
Oracleでまともにビッグデータを扱うと千万円の単位では済まないのに…
645:132人目の素数さん
12/10/04 15:32:50.43
企業のことは分からないが、
PostgreSQL + Rという組み合わせは論外なのかな?
646:132人目の素数さん
12/10/04 20:11:25.61
>>645
PostgreSQLはBSDライセンスで、RはGPLじゃなかったっけ?
言語処理系部分の流用は出来ないんじゃないの?
647:132人目の素数さん
12/10/04 21:31:10.07
>>644
Oracle は基幹系の投資に含めやすいし、実際に支払うライセンス料は
年間サポート料やコンサル費に比べれば大した金額じゃないと思う。
むしろコンサル費がべらぼうに高い。
その延長でゆくと、分析ツールはSASでもRでもいいが、こういう分析ツールを
活用できる社員を育成するのに金が掛かるし、企業での課題だと思う。
ちょっと外れてきたね。
648:132人目の素数さん
12/10/04 22:57:30.45
Postgre + R だと生データを直接処理(モデリング)できないでしょ。
それこそ、MapReduceみたいな処理の分散を自分で考えないといけない。
649:132人目の素数さん
12/10/05 00:20:41.39
>>626
x <- matrix(1:9, 3)
x[rep(1:3,5),]
650:132人目の素数さん
12/10/05 01:07:56.33
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
651:132人目の素数さん
12/10/08 17:00:48.41
SNSの出身の人はビジネスセンスに欠ける気がする。
もしかしたら、それは旧時代的なビジネスセンスで、SNS出身の人のは新時代のものかもしれないけど。
・・・ないな。
652:132人目の素数さん
12/10/08 17:29:34.67
頭の古い人はいつでも置き去りにされる。
653:132人目の素数さん
12/10/08 17:43:54.24
統計解析全体がオカルトだというとらえ方もあるけどね。
> 活用できる社員を育成するのに金が掛かるし、企業での課題だと思う。
亀の甲羅を火にあぶる司祭たち……
654:132人目の素数さん
12/10/08 18:07:35.04
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。
. | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。
| l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。
| ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて
| /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。
| (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は?
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら?
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
655:132人目の素数さん
12/10/12 10:40:00.67
N行M列のXを
要素M個のリストにしたいです。
x <- matrix(1:9, 3)
x_list <- list(x[,1], x[,2], x[,3])
as.list(x)でやると要素9になってしまいます。
要素M個にしたい場合は、どうすればいいですか?
656:132人目の素数さん
12/10/12 11:49:23.96
できました!
split(x, col(x))
>知っているといつか役に立つ(?)関数達 - RjpWiki
(6) ベクトル、行列、データフレームをある性質で分割する、split(x,f)
657:132人目の素数さん
12/10/14 11:18:40.27
↓これ、apply系の関数でうまくできないですか?教えてください。
x = matrix(1:12, 3, 4)
y = c(2, 5, 10)
x[1,] + y[1]
x[2,] + y[2]
x[3,] + y[1]
658:132人目の素数さん
12/10/14 11:48:08.74
>>657
> x[1,] + y[1]
> x[2,] + y[2]
> x[3,] + y[1]
x[1:3,]+y[c(1,2,1)]
659:132人目の素数さん
12/10/15 13:56:05.47
>>657
これでもできる。xに対して縦にしたベクトルを横に走らせながら足し算するみたいな意味。
sweep(x, 1, y[c(1,2,1)], "+")
660:馬と鹿と豚さん
12/11/05 13:00:29.47
__ノ)-'´ ̄ ̄`ー- 、_
, '´ _. -‐'''"二ニニ=-`ヽ、
/ /:::::; -‐''" `ーノ
/ /:::::/ \
/ /::::::/ | | | |
| |:::::/ / | | | | | |
| |::/ / / | | || | | ,ハ .| ,ハ|
| |/ / / /| ,ハノ| /|ノレ,ニ|ル'
| | | / / レ',二、レ′ ,ィイ|゙/
. | \ ∠イ ,イイ| ,`-' |
| l^,人| ` `-' ゝ | このスレは馬と鹿と豚ばかりね。
| ` -'\ ー' 人
| /(l __/ ヽ、
| (:::::`‐-、__ |::::`、 ヒニニヽ、
| / `‐-、::::::::::`‐-、::::\ /,ニニ、\
| |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \
. | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \
| /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 |
| |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、
| |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄|
| /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
| |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
| /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
661:132人目の素数さん
12/11/09 15:34:45.80
これって、Rで描けますか?
URLリンク(homepage2.nifty.com)
回帰直線の例である、よく教科書に載ってる図で、
「誤差が正規分布」してる様子を表したいです。
確率密度関数のプロット図を横に複数個並べたいんです。
662:132人目の素数さん
12/11/09 15:48:43.41
これです。単回帰モデルの図をRで描けますか?
URLリンク(t2.gstatic.com)
663:132人目の素数さん
12/11/09 16:13:59.17
>>661
描ける。でもちょっと頭の体操が必要かも。
>>662
同上。でもオレならPGF/Tikzで描くかな。
URLリンク(www.texample.net)
664:663
12/11/09 17:14:42.51
時間があったので、コーディングしてみた。
RjpWikiと違って図を載せられないし、半角スペースは削除されるので、
わかりにくいかも知れない。
# サンプルデータ
dat <- data.frame(x = c(rnorm(50) - 2, rnorm(50), rnorm(50) + 2),
g = c(rep("x", 50), rep("y", 50), rep("z", 50)))
# 作図
d <- tapply(dat$x, dat$g, density)
plot(as.numeric(dat$g), dat$x, xlim = c(0, 4), axes = FALSE,
xlab="", ylab="x")
lines(d[[1]]$y + 1, d[[1]]$x)
lines(d[[2]]$y + 2, d[[2]]$x)
lines(d[[3]]$y + 3, d[[3]]$x)
axis(2)
axis(1, at = 1:3, labels = LETTERS[24:26])
あとはsegments()で適当に赤の横破線を引いてくれ
665:132人目の素数さん
12/11/09 21:12:18.68
>>664 おぉー!ありがとうございます!!
666:132人目の素数さん
12/11/28 20:53:30.87
初心者ですがロジットモデルを作る際に
Lapack routine dgesv:システムは正確に特異です という意味不明なメッセージが...
変数ごとの尺度が違いすぎると発生するってことで一部に1/100したりしてみたけど
変わらず出てしまう...「そのエラー文こんな場合に出てくるでー」みたいなのあれば教えて頂けるとありがたいです.
667:132人目の素数さん
12/11/28 21:07:45.01
ロジットモデルが何か知らないけど、
エラー文でググると、
>分散共分散行列の行列式が正定値では無いため
668:132人目の素数さん
12/11/28 21:27:27.31
>>667
ありがとうございます!
分散共分散行列、正定値か...初めての単語です.
調べてみようっと
669:132人目の素数さん
12/11/28 22:30:52.44
>>666
singularって単数と思っていたが、数学では「特異」なんだな。
勉強になった。
670:132人目の素数さん
12/11/29 22:21:50.04
>>669
singular matrixって、逆行列を持たない行列。つまり
1 2
2 4
とか、そういうやつじゃないの?
Octaveでそういうのをやると
octave-3.2.4.exe> A=[[1,2];[3,4]]
A =
1 2
3 4
octave-3.2.4.exe> inv(A)
ans =
-2.00000 1.00000
1.50000 -0.50000
octave-3.2.4.exe:> A=[[1,2];[2,4]]
A =
1 2
2 4
octave-3.2.4.exe> inv(A)
warning: inverse: matrix singular to machine precision, rcond = 0
ans =
Inf Inf
Inf Inf
671:132人目の素数さん
12/11/30 15:39:16.01
sortとprintとあわせて使えませんか?
672:132人目の素数さん
12/12/01 09:59:19.11
2012/12/01 10:00~
R研究集会 「データ解析環境Rの整備と利用」2012
URLリンク(live.nicovideo.jp)
673:132人目の素数さん
12/12/03 20:43:08.44
>>671
それは質問かい?
それとも上のどこかの書き込みの対する助言かい?
674:132人目の素数さん
12/12/04 10:40:04.46
すみません、質問です
id time sex
1 13 male
2 24 female
・・・
てな感じのデータ(population)を、timeでヒストグラムを書いた時にsexで色分けしたいのですが
基本グラフィックを使った方法で何か良いのは無いでしょうか?
ちなみにggplot2だと以下のコマンドで出来ますが、基本グラフィックで書く必要があります
ggplot(population, aes(time, fill=sex))+geom_histogram()
675:132人目の素数さん
12/12/04 11:26:35.26
>>674
hist()はグループ分けができません。
> set.seed(1234)
> a <- data.frame(time = round(rnorm(100)^2*10+5), sex = sample(as.factor(c("male", "female")), 100, replace = TRUE))
と適当なサンプルで、
> max(a$time)
[1] 70
なので、0から100まで10刻みで頻度を計算して棒グラフを書けばよいのでは。
> brks <- (0:5)*4
> b <- cbind(table(findInterval(a$time[a$sex == "male"], brks)), table(findInterval(a$time[a$sex == "female"], brks)))
> barplot(t(b), beside = TRUE, names.arg = brks[as.integer(row.names(b))])
参考まで。
676:132人目の素数さん
12/12/05 08:26:29.52
>>675
なるほど、histはグループ分けが出来ないのですね・・・
アドバイスに従って棒グラフで作成してみます
回答ありがとうございました
677:132人目の素数さん
12/12/18 04:57:50.10
リストの各要素を変数に代入したいです。
今は↓こんな感じでやってるのですが、要素数が増えると面倒で、
良いやり方があれば教えてください。
m = list(1, 2, 3, 4)
a = m[[1]]
b = m[[2]]
c = m[[3]]
d = m[[4]]
678:132人目の素数さん
12/12/18 07:38:18.90
lapply(1:4, function(k) assign(letters[k], m[[k]], envir = .GlobalEnv))
うーん、あんま短くないか。
679:132人目の素数さん
12/12/18 11:05:31.28
>>677
>>678が示すように、assignを使えばよいよ。
for()を使うならこんか感じ。
## mを適当に用意
m <- lapply(1:4,function(x){sample(month.name, 3)})
v.name <- letters[1:4] #変数名を準備
for(i in 1:length(v.name)) assign(v.name[i], m[[i]])
>>678
試さないで質問して申し訳ないけど、.GlovalEnvの指定は必須?
envirの指定を省略すれば.GlovalEnvになるのかなとと思って。
680:132人目の素数さん
12/12/18 14:51:39.01
>>678-679 できました。ありがとうございます!
681:132人目の素数さん
12/12/21 23:08:27.59
データフレームがあって、A列にコード、B列にファクター値が入っております。
このデータフレームをファクター値によって5分割したいのですが、
ループを使わない簡単な方法ありますでしょうか?
現在はquantile関数とforループを併用しております。
よろしくお願いいたします。
682:132人目の素数さん
12/12/22 05:08:48.15
>>681
>ファクター値
どういう意味?
因子型変数が内部で保持している実体の整数型の値のこと?
例を示してくれないと、その説明ではどうしたいのか分からない。
683:132人目の素数さん
12/12/22 06:30:38.17
>>681
split(x, x$B)
ってこと?
684:681
12/12/22 09:52:42.80
>>682,>>683
ありがとうございます。
説明が悪くて申し訳ありません。
ファクター値は因子ではありません。
只の実数値の意味です。
DF
CODE DATA
"A" 1
"B" 2
"C" 3
"D" 4
"E" 5
と単純なデータフレームを考えた場合、
DATAの大きさでデータフレームを分割し5個のデータフレームにしたいのです。
現状はforループとquantile(DF$B, prob = i / 5)という関数を用いて分割している次第です。
よろしくお願いいたします。
685:132人目の素数さん
12/12/22 12:16:27.28
>>684
意味が全く分からないのはオレだけか?
そもそもDF$Bやiはどこから出てきたんだ。
data.frameの要素にdata.frameを入れた階層構造なのか?
もしかすると、こういうことか?
> DF <- data.frame(CODE = sample(LETTERS, 100, replace = TRUE), DATA = sample(1:5, 100, replace = TRUE))
というDFがあったとして、
> lapply(unique(DF$DATA), function(x){DF[DF$DATA == x, ]})
とすると5つのデータフレームをもつリストが出来る。
686:681
12/12/22 12:33:52.37
>>685
申し訳ありません。DF$BではなくDF$DATAです。
ご提示していただいた例ですとDATAが整数の場合には正しく分割できるのですが、
実際には整数ではなく実数値です。
例えば、
DF <- data.frame(rand)
colnames(DF) <- c("a", "b", "c")
というデータフレームを作成した場合、DF$bの大きさで任意の分位に分割したいのです。。。。
687:132人目の素数さん
12/12/22 13:38:29.27
>>686
まだ意味が分からないorz
回答する側に憶測に憶測を重ねさせる質問の仕方はどうなのか、
後出しがガシガシ出てくる質問の態度はいかがかと思うが、
丁寧な口調なので、もう1度だけ「想像」した範囲で答える。
> DF <- data.frame(a = runif(100), b = runif(100), c = runif(100))
というDFがあったとして、DF$bを任意の分位、たとえば、0.1と0.3と0.5と0.9で区切って5分割したいとする。
> i <- findInterval(DF$b, c(0.1, 0.3, 0.5, 0.9))
> lapply(unique(i), function(x){DF$b[x == i]})
これで5分割されたデータのリストが得られる。
データフレーム構造を保持したいという話なら、
> lapply(unique(i), function(x){DF[x == i, ]})
これでも、これが質問の意図と異なるなら、他の人にパス。
688:687
12/12/22 13:51:45.59
unique(i)だと区分の順番が気になるので、順番通りにするように修正
> lapply(0:max(i), function(x){DF$b[x == i]})
および
> lapply(0:max(i), function(x){DF[x == i, ]})
689:132人目の素数さん
12/12/22 20:11:43.37
改行、空白がなくて読みにくコードを
見やすく自動で整形する方法ってありますか?
他の言語だと整形ツールがあるんだけど
Rにもあるのかな