1 名前:132人目の素数さん mailto:sage [2011/01/09(日) 17:31:49 ] R は統計計算とグラフィックスのための言語・環境です。 統計計算で重宝するデータ型や、複数要素を処理する演算や関数、 解析結果を表示するグラフィックなど、多彩な機能を提供します。 ●関連サイト The R Project www.r-project.org/ RjpWiki www.okada.jp.org/RWiki/ リンク集 www.okada.jp.org/RWiki/?%A5%EA%A5%F3%A5%AF%BD%B8
520 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん mailto:sage [2012/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人目の素数さん mailto:sage [2012/05/19(土) 16:52:03.11 ] >>521 その手があったか。 速度的には rowSum() が有利と思われる。
523 名前:132人目の素数さん mailto:sage [2012/05/19(土) 20:49:13.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
524 名前:132人目の素数さん mailto:sage [2012/05/19(土) 23:04:29.94 ] >>519-522 みなさんありがとうございます。 applyとrowsum()の両方を使えるようにします。
525 名前:132人目の素数さん mailto:sage [2012/05/20(日) 00:05:52.54 ] >>524 rowSums() だった。大文字小文字を区別するので注意。 entertainment-lab.blogspot.jp/2011/12/rapplyrowsums.html?m=1
526 名前:132人目の素数さん [2012/05/23(水) 06:06:44.69 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
527 名前:132人目の素数さん [2012/05/23(水) 08:15:18.64 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
528 名前:132人目の素数さん mailto:sage [2012/05/24(木) 21:30:30.29 ] すいません、ほんっとに初歩的な質問なんですが… Wikiをざっと見ても行列Tipsを検索しても見当たらないので質問させてください データフレームを数値行列に変換させるにはどうすればよいのでしょうか? 列成分をデータフレームから指定しても、as.matrixなどの変換をしても、 %*%の操作をすると数値行列にしてくださいと言われます とりあえずデータフレームの数値を使って行列計算をしたいので、誰かサクッと教えていただけると助かりますm(_ _) m
529 名前:132人目の素数さん mailto:sage [2012/05/25(金) 01:12:42.02 ] as.matrixの前後でstr()してみて。 多分factorになっていて数字ではないのではないかと思う。
530 名前:132人目の素数さん mailto:sage [2012/05/25(金) 03:03:02.18 ] そうでした そしてこれを数字にするには…
531 名前:132人目の素数さん mailto:sage [2012/05/25(金) 03:04:41.50 ] as.characterしてas.numericで数値化されるかどうか
532 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん mailto:sage [2012/05/25(金) 15:01:44.54 ] >>532 そんなやり方があるのか、覚えられないなでも
534 名前:132人目の素数さん mailto:sage [2012/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 mailto:sage [2012/05/25(金) 16:50:52.24 ] あっ、ごめん。たまたまsample()の出力がわかりにくかっただけみたいだ。 as.numeric()だと「5」のところが「4」になっているから、 as.numeric(factorクラス)はやっぱり駄目だ。
536 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん [2012/05/27(日) 07:33:26.16 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
538 名前:132人目の素数さん mailto:sage [2012/05/27(日) 08:50:40.45 ] >>536 ご丁寧にどうもです! as.numericだと変な数字になるから悩んでたのですが、そういう方法もあったのですね as.matrixだけでも計算できない場合でもこれでよさそうです ありがとうございました
539 名前:132人目の素数さん [2012/05/29(火) 04:32:41.65 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
540 名前:132人目の素数さん [2012/06/03(日) 20:40:13.33 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
541 名前:132人目の素数さん [2012/06/03(日) 23:20:55.48 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
542 名前:132人目の素数さん [2012/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人目の素数さん mailto:sage [2012/06/04(月) 01:07:52.08 ] >>542 ?grepで意味が分からないなら もうsystem()でいいじゃん
544 名前:132人目の素数さん [2012/06/04(月) 07:28:20.53 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
545 名前:132人目の素数さん [2012/06/04(月) 09:11:46.10 ] >>543 grep() は、pattern の vector 長が 2 以上の場合、最初の要素しか 使われないのです。その上、target 内の要素の位置をベクトルで返す仕様。 せめて、論理値をベクトルで返してくれたらね。 残念なことに R を動かす環境には grep コマンドがなく、 現在は unix 環境で前処理してるけど、面倒臭いなあと思って 良い方法がないか尋ねた次第です。
546 名前:132人目の素数さん mailto:sage [2012/06/04(月) 09:16:32.70 ] あ、grepl は、論理値ベクトルを返してくれるんだね。知らなかったわ。
547 名前:543 mailto:sage [2012/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 mailto:sage [2012/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 [2012/06/04(月) 10:34:25.66 ] >>548 なるほど。確かに目的の処理ができます。 どうもありがとう。 私の頭がforで、applyできていませんでした。
550 名前:132人目の素数さん [2012/06/04(月) 12:34:01.89 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
551 名前:132人目の素数さん mailto:sage [2012/06/04(月) 19:03:37.28 ] 頭の体操 > target[unique(c(sapply(pattern, function(x) grep(x, target))))] [1] "abaa" "abef" "aefe"
552 名前:551 mailto:sage [2012/06/04(月) 19:07:14.04 ] こっちのほうがいいかも > unique(c(sapply(pattern, function(x) grep(x, target, value=TRUE)))) [1] "abaa" "abef" "aefe"
553 名前:542 mailto:sage [2012/06/04(月) 19:39:49.43 ] >>552 は、target内の要素が相異なることが前提になりますね。 あとは、target内の要素の順序を保つようにならないものかな。
554 名前:542 mailto:sage [2012/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人目の素数さん mailto:sage [2012/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 mailto:sage [2012/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 mailto:sage [2012/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人目の素数さん mailto:sage [2012/06/04(月) 21:52:36.36 ] >>557 投稿しようとしたら書かれてた rowSumsはCで書かれてるはず lapplyも同様 sapplyはlapplyを呼んでいる applyはRで書かれていて遅い
559 名前:542 mailto:sage [2012/06/04(月) 22:04:53.47 ] >>558 へえ。applyは、なるべく避けた方が良さげですね。勉強になりました。
560 名前:132人目の素数さん [2012/06/04(月) 23:15:00.88 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/
561 名前:132人目の素数さん [2012/06/05(火) 07:03:58.00 ] R.exeのインストールされていないwindowsPCで、R言語で書かれた プログラムを実行する手段はありますでしょうか。 (Fortranの実行ファイルみたいなイメージです)
562 名前:132人目の素数さん [2012/06/05(火) 07:09:23.62 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_|
563 名前:132人目の素数さん [2012/06/05(火) 15:37:11.75 ] SAS使用歴20年、R半年の者です。 RにはSASで言うところのマクロみたいな物はないでしょうか?
564 名前:132人目の素数さん [2012/06/05(火) 20:30:53.61 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
565 名前:132人目の素数さん [2012/06/05(火) 22:40:37.65 ] R2.15.0でRODBCとXLConnectを同時に使用しようとすると名前空間エラーがでませんか?
566 名前:132人目の素数さん [2012/06/06(水) 00:22:27.48 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
567 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん [2012/06/09(土) 23:34:52.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
569 名前:132人目の素数さん [2012/06/10(日) 06:29:56.30 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
570 名前:132人目の素数さん [2012/06/13(水) 20:54:59.86 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
571 名前:132人目の素数さん mailto:sage [2012/06/18(月) 14:21:06.94 ] Rjpwikiの「Rだけでデータクリーニング」。 真摯な回答をする人が何人もいて、偉いな。
572 名前:132人目の素数さん mailto:sage [2012/06/22(金) 16:40:13.73 ] 荒らされていてここじゃ書きずらくないですか? Rってプログラミング言語なのでプログラムスレッドに移住するそうですよ。 無理にとは言わないので出来たらお願いしますね。 統計解析R たぶんpart3くらい toro.2ch.net/test/read.cgi/tech/1340339592/
573 名前:132人目の素数さん [2012/06/24(日) 14:58:20.27 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
574 名前:542 mailto:sage [2012/06/27(水) 21:28:07.95 ] sqldf package が便利なことに気付いた。
575 名前:132人目の素数さん mailto:sage [2012/06/27(水) 22:14:18.48 ] OpenOffice Calcのファイル.odsから直接Rのデーターフレームに 読み込む方法はないかなあ。 cvsに変換して読み込んでいるけど、ちょっとだけメンドイ。
576 名前:132人目の素数さん mailto:sage [2012/06/28(木) 13:28:01.62 ] >>575 read.ods() from ROpenOffice ttp://www.omegahat.org/ROpenOffice/
577 名前:132人目の素数さん mailto:sage [2012/06/28(木) 16:25:13.46 ] >>576 サンクス! CRAN関連ばかり探していたから引っかからなかった訳だ。 ダウンロードして見たが、CRANじゃないのでインストール方法が判らん。 初心者なんでもうちょっと勉強してみる。
578 名前:132人目の素数さん mailto:sage [2012/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が必要らしい。 ttp://cran.r-project.org/doc/manuals/R-admin.html#The-Windows-toolset
579 名前:132人目の素数さん mailto:sage [2012/06/28(木) 17:39:04.25 ] >>578 重ね重ね丁寧に答えていただき、有難うございます!
580 名前:132人目の素数さん [2012/07/02(月) 23:44:45.34 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
581 名前:575 mailto:sage [2012/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人目の素数さん mailto:sage [2012/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 mailto:sage [2012/07/05(木) 19:39:30.67 ] >>582 サンクスです! help読んでなかった・・・・ read.casv("file name", encording="UTF-8")で無事読み込めました。 これでだいぶ助かります。
584 名前:132人目の素数さん mailto:sage [2012/07/11(水) 12:33:21.72 ] ttp://www.facebook.com/tadashi.nagao てっきり高校生か未熟な大学生と思っていたら、 案外おっさんだったw 老けて見えるだけかな。 何にせよ、某所には、公共性の高いものだけに絞って書き込んで、 それ以外は、ここ(2ch)に書き込んで欲しいぞ。 c(letters[1:26])とか、初心者や入門者を混乱させることを目的とした 嫌がらせとしか思えないぞ。
585 名前:132人目の素数さん [2012/07/20(金) 12:52:33.55 ] Mac OSX, Cocoa 環境でアプリ内から/Library/Frameworks/R.framework/Resources/にある実行ファイルを叩いてRを使っています。 [ NSTask launch... ] といった感じです。 しかし、スクリプトの末尾にq()を付けてもRの実行ファイルが動いたままになります(アクティビティモニタで確認)。 NSTask のterminateを呼び出しても消えてくれません。 どうもこれが悪さをして意図した動作をしてくれ内容です。 対処方法ご存知のかたがいましたらご回答をお願いします。
586 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん [2012/07/20(金) 13:52:36.69 ] >>585 q("no") とすれば、入力待ちにならないのでは?
588 名前:132人目の素数さん mailto:sage [2012/07/20(金) 14:00:19.17 ] レスありがとうございます。 q()の引数にnoを追加しましたが、依然挙動不審です。 どうもコマンド引数に < script.r と指定したスクリプトを読み込めない場合があるようです。 なんこれ? な状況ですが。 最小単位の構成から実験してみます。
589 名前:132人目の素数さん mailto:sage [2012/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 mailto:sage [2012/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 mailto:age [2012/07/22(日) 16:58:54.77 ] ★★★学歴格差:無意味 ★★★学力格差:尊重しろ ★★★能力格差:最大限利用せよ。 東大や京大にだって馬鹿は沢山居てるんだヨ。 学力格差と能力格差を認める理想社会を実現しろや。要するに: ★★★『馬鹿は無意味なので不必要だから、従って無能は静かにせよ。』★★★ っちゅうこっちゃ。低脳が騒ぐのはワシが許さんのや。 ちゃんと読め。 描
592 名前:132人目の素数さん mailto:sage [2012/07/26(木) 09:47:52.47 ] 行列の作り方について質問です xという1×n個の配列があって、 yという行列の要素を y[i][j] = x[i]+x[j]としたいとき、 y行列を作る文はどのようにしたら良いのでしょうか
593 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん mailto:sage [2012/07/26(木) 11:55:59.91 ] >>593 さま そうです! ありがとうございます! 助かりました
595 名前:132人目の素数さん mailto:sage [2012/07/26(木) 12:08:58.20 ] >>594 助かったのなら何よりなんだけど、 宿題の類だったのなら、確認もせずに教育の邪魔をして教員に申し訳ない。
596 名前:132人目の素数さん mailto:sage [2012/08/05(日) 22:25:40.52 ] n=1,2,...,Nに対してP(n)のデータがあります このデータがどの確率分布か言い当てることはできますか
597 名前:132人目の素数さん mailto:sage [2012/08/05(日) 23:48:09.66 ] >>596 これまた宿題っぽい。 質問の動機や、動機を得るに至った背景を説明してもらえますか
598 名前:132人目の素数さん mailto:sage [2012/08/07(火) 01:02:34.43 ] >>597 R触ってみようと思って最初に思い浮かんだのがこれ なんだけど探しても見つからないもんだからここで聞くことにした
599 名前:132人目の素数さん mailto:sage [2012/08/07(火) 04:10:01.29 ] >>598 ググると「コルモゴロフ-スミルノフ検定」というのが出てきた。
600 名前:132人目の素数さん mailto:sage [2012/08/07(火) 13:49:09.80 ] >>596 >>599 さんの答えだけだと、初心者はどうしてよいか分からないと思うので助言します。 > RSiteSearch("Kolmogorov-Smirnov") 以上。
601 名前:132人目の素数さん [2012/08/08(水) 15:54:24.83 ] Mac版Rのデフォルトでのフォントって何でしたっけ? コマンド入力中にうっかりよくわからないキー押してしまったみたいでフォントが変わってしまって・・。
602 名前:baka描 ◆ghclfYsc82 mailto:age [2012/08/08(水) 17:29:54.67 ] 描 >14 名前:132人目の素数さん :2012/08/07(火) 17:39:00.96 > >>13 > 旧コテ猫あらため描つまりお前自身の事だろ、増田哲也に限り無く近い人間。 > 筑波大学で痴漢と言えば増田哲也だから連続性も明らかになってるから > わざわざ限り無く近い人間なんて呼び方しなくていいんだけどな >
603 名前:132人目の素数さん [2012/08/08(水) 19:18:57.57 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
604 名前:132人目の素数さん [2012/08/08(水) 21:07:17.90 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
605 名前:132人目の素数さん mailto:sage [2012/08/12(日) 19:33:37.42 ] Rで、グラフとして描画されているデータをテキスト出力出来ますか? Rを使える人が私以外いないので、 Excelで配布しなければなりません。 今は描画前の関数データを張り付けていますが、 縦軸が変わってしまうので、グラフ描画からそのまま出力したいと思っています。
606 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん mailto:sage [2012/08/13(月) 09:53:15.56 ] >>606 なるほど。データフレームにしてしまえばトラブルを解消できそうです。 今まで、xとyを別々に指定するような作業をしていたので気が付きませんでした。 ありがとうございました。
608 名前:132人目の素数さん [2012/08/26(日) 09:50:32.98 ] 教えてください。 開始日,数 1,5 2,2 3,4 4,8 …… 30,5 のような時系列データの信頼区間やピークを求めたいのですが、 解説サイトとかないでしょうか。
609 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん [2012/09/14(金) 21:05:08.72 ] windowsXP世代の4GBマシンで100万レコードオーダーのdataframeを ggplot2で描画しようとするとメモリオーバーになってしまう なんかうまい方法はないものか
611 名前:132人目の素数さん mailto:sage [2012/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人目の素数さん [2012/09/15(土) 09:17:37.47 ] >>611 どうもです 確かに仰る通り、::baseのplotならば可能です 後だしですんませんが ・見た目のキレイさ (というか先進性というか凄いことやってそうに見せられるというか。。苦笑 ・カテゴリカル変数20こ程度 ・引き継ぎやデータ更新等を考えて 作図のためのデータハンドリングのコーディングは最少にしたい ・自分自身の興味w のような趣旨でggplot2でやりたいのです
613 名前:132人目の素数さん mailto:sage [2012/09/15(土) 20:06:17.90 ] >>610 32bit?64bit?
614 名前:132人目の素数さん [2012/09/15(土) 21:09:24.15 ] >>613 32bitです 会社の端末なんで詳細は不明ですが 5年くらい前の型で家庭用PCです Rは2.15.0でパッケージは最新です ggplot2_0.9.2.1
615 名前:132人目の素数さん [2012/09/15(土) 22:21:52.64 ] __ノ)-'´ ̄ ̄`ー- 、_ , '´ _. -‐'''"二ニニ=-`ヽ、 / /:::::; -‐''" `ーノ / /:::::/ \ / /::::::/ | | | | | |:::::/ / | | | | | | | |::/ / / | | || | | ,ハ .| ,ハ| | |/ / / /| ,ハノ| /|ノレ,ニ|ル' | | | / / レ',二、レ′ ,ィイ|゙/ 私は只の数ヲタなんかとは付き合わないわ。 . | \ ∠イ ,イイ| ,`-' | 頭が良くて数学が出来てかっこいい人。それが必要条件よ。 | l^,人| ` `-' ゝ | さらに Ann.of Math に論文書けば十分条件にもなるわよ。 | ` -'\ ー' 人 一番嫌いなのは論文数を増やすためにくだらない論文を書いて | /(l __/ ヽ、 良い論文の出版を遅らせるお馬鹿な人。 | (:::::`‐-、__ |::::`、 ヒニニヽ、 あなたの論文が Ann of Math に accept される確率は? | / `‐-、::::::::::`‐-、::::\ /,ニニ、\ それとも最近は Inv. Math. の方が上かしら? | |::::::::::::::::::|` -、:::::::,ヘ ̄|'、 ヒニ二、 \ . | /::::::::::::::::::|::::::::\/:::O`、::\ | '、 \ | /:::::::::::::::::::/:::::::::::::::::::::::::::::'、::::\ノ ヽ、 | | |:::::/:::::::::/:::::::::::::::::::::::::::::::::::'、',::::'、 /:\__/‐、 | |/:::::::::::/::::::::::::::::::::::::::::::::::O::| '、::| く::::::::::::: ̄| | /_..-'´ ̄`ー-、:::::::::::::::::::::::::::::::::::|/:/`‐'::\;;;;;;;_| | |/::::::::::::::::::::::\:::::::::::::::::::::::::::::|::/::::|::::/:::::::::::/ | /:::::::::::::::::::::::::::::::::|:::::::::::::::::::::O::|::|::::::|:::::::::::::::/
616 名前:132人目の素数さん mailto:sage [2012/09/17(月) 13:49:31.71 ] ggplotでも分割してできるでしょ。 それでも最後の描画の際にエラーになっちゃうかな?
617 名前:132人目の素数さん mailto:sage [2012/09/18(火) 00:00:46.90 ] >>616 はい。 ggplot2オブジェクトにそうさをくわえることはできますが、 プロットするさいにメモリオーバーエラーとなってしまいます。 (プロットせずにggsaveしようとしてもおなじです)
618 名前:132人目の素数さん mailto:sage [2012/09/18(火) 14:41:03.61 ] >>617 じゃあ、データを間引きするしか方法がないのでは? そもそも100万レコードを視覚化するのに、 そのまま100万レコードが必要なのか? 100万からサンプリングして1万で図を描いても同じ図になる気がするぞ。
619 名前:132人目の素数さん mailto:sage [2012/09/18(火) 23:07:04.27 ] RにはReduce見たいな機能はないのかな
620 名前:132人目の素数さん mailto:sage [2012/09/19(水) 00:02:17.70 ] >>618 そういわれるとそうなのです ただ、問題は>>617 なので、なぜそうなるのか分かって、 そこだけ回避できるようになれればよいのですが・・・