質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.32%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

1回答

86閲覧

Rでデータ解決中出たエラーの解決方法を教えてください(関数見つかりませんでした)

sylvia1na

総合スコア6

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2025/03/19 05:29

実現したいこと

R初心者です。頂いたtest用のデータとスクリプトなぜか私のパソコンでやるとエラー3つも出ました。
データを一切弄ってませんし、スクリプトも全部コピペだったのですが、エラーの解決方法をいただけませんでしょうか。

発生している問題・分からないこと

ソースありません
代入可能の部分がありませんなどのエラーを解決できません

エラーメッセージ

error

1UseMethod("predict") でエラー: 2 'predict' をクラス "train" のオブジェクトに適用できるようなメゾットがありません 3load$load でエラー: 4 'closure' 型のオブジェクトは部分代入可能ではありません 5

該当のソースコード

> library(tidyverse) ── Attaching core tidyverse packages ───────────────────────────────────────────────────────────────────────────────── tidyverse 2.0.0 ── ✔ dplyr 1.1.4 ✔ readr 2.1.5 ✔ forcats 1.0.0 ✔ stringr 1.5.1 ✔ ggplot2 3.5.1 ✔ tibble 3.2.1 ✔ lubridate 1.9.4 ✔ tidyr 1.3.1 ✔ purrr 1.0.4 ── Conflicts ─────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ── ✖ dplyr::filter() masks stats::filter() ✖ dplyr::lag() masks stats::lag() ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors > library(vegan) 要求されたパッケージ permute をロード中です 要求されたパッケージ lattice をロード中です This is vegan 2.6-10 > source("R/MLP.R") > input <- read.delim("test_data/Franzosa_2018_IBD.motus25.tsv", header = T, row.names = 1, check.names = F) > input <- data.frame(t(input), check.names = F) > load <- MLP(input, "motus25", "metacardis", "load") Model Path: data/metacardis/model.motus25.rds INFO: 412 species were used in the selected model, and 412 (100%) were found in the input file. Missing species have been supplemented. UseMethod("predict") でエラー: 'predict' をクラス "train" のオブジェクトに適用できるようなメソッドがありません > > md <- read.delim("test_data/Franzosa_2018_IBD.metadata.tsv", header = T, row.names = 1, check.names = F) > df <- data.frame(md, load = load$load) load$load でエラー: 'closure' 型のオブジェクトは部分代入可能ではありません > ggplot(df, aes(x = Disease, y = log10(load), fill = Disease)) + theme_bw() + geom_boxplot() Error in `ggplot()`: ! `data` cannot be a function. ℹ Have you misspelled the `data` argument in `ggplot()` Run `rlang::last_trace()` to see where the error occurred.
# 必要なライブラリをロードします library(tidyverse) library(vegan) # MLP本体をロードします source("R/MLP.R") # 入力データを読み込みます. 菌種 x サンプルの相対存在量データです input <- read.delim("test_data/Franzosa_2018_IBD.motus25.tsv", header = T, row.names = 1, check.names = F) # サンプル x 菌種行列に変換します input <- data.frame(t(input), check.names = F) # 存在量を推定します load <- MLP(input, "motus25", "metacardis", "load") # サンプルのメタデータを読み込みます md <- read.delim("test_data/Franzosa_2018_IBD.metadata.tsv", header = T, row.names = 1, check.names = F) # メタデータと存在量データを結合します df <- data.frame(md, load = load$load) # 疾患ごとにboxplotグラフを描画します ggplot(df, aes(x = Disease, y = log10(load), fill = Disease)) + theme_bw() + geom_boxplot()

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

素人すぎてどこを修正すればいいかわかりませんでした

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

grp-bork/microbial_load_predictor: R package to predict microbial loadsDESCRIPTION を確認してみると Imports タグに caretxgboost パッケージがあります。

Imports: tidyverse, dplyr, readr, vegan, here, xgboost, caret

なので、これらのパッケージをインストールする必要があります。(caret パッケージにある predict.train function が呼び出されます)

ソースコードを変更する必要はなく、そのままで再度実行します。

イメージ説明

投稿2025/03/19 12:30

melian

総合スコア21050

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.32%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問