Rの入力として複数のdata.framesを使用してカスタム関数を適用するにはどうすればよいですか?

DirtStats

1つのdata.frame(raw_DF)からデータの行を取得し、別のdata.frame(calibrant_DF)からキャリブレーションデータを使用して、Raw12のキャリブレーション値を計算するカスタム関数を使用しようとしています。このエラーが発生します:

cal_DF $ Cal_setのエラー:$演算子はアトミックベクトルには無効です呼び出し元:トップレベル

適用関数はdata.frameをこのように渡すことを好まないようです。そのため、別の適用関数(mapply、lapplyなど)またはplyrを使用できるかどうかを判断するために過去数時間を費やしました。私がやろうとしていることを達成するための機能ですが、運がありません。提案?

サンプルコード(実際の関数とDFはより複雑です):

raw_DF<-data.frame("Cal_set"=c(1,2,1,2),"Raw12"=c(3.3,3.1,5.1,4.2))
calibrant_DF<-data.frame("Cal_set"=c(1,2),"b12"=c(.01,.04),"m12"=c(.95,.99))

apply.cals <- function(raw_row,cal_DF){
  current_cals<-cal_DF[which(cal_DF$Cal_set==raw_row$Cal_set),]
  raw12<-raw_row$Raw12
  cal12<-(raw12-current_cals$b12)/current_cals$m12

  outdata<-data.frame(raw12,cal12)
  return(outdata)
} # End of apply.cals

calibrated_data<-apply(X=raw_DF,MARGIN=1,FUN=apply.cals,cal_DF="calibrant_DF")

そして、私の希望する出力は、次のような結果のdata.frame(またはdata.frameに入れることができるもの)です。

raw12 cal12 3.3 3.463158 3.1 3.090909 5.1 5.357895 4.2 4.20202

アドバイスありがとうございます!

編集-解決しましたが....誰かが考えているなら、私はプライヤーソリューションに興味があります-それは私がもっとよく理解したい機能であり、私の印象はこれがエレガントに対処できる問題だということです。

住む

apply行列を期待します-そしてそれがデータフレームを取得すると、それを行列に変換します。したがって、$信頼することはできませんapply

コードを機能するものにすばやく変換する1つの方法は、次のとおりです。

sapply(split(raw_DF, rownames(raw_DF)), apply.cals, cal_DF=calibrant_DF)

split(raw_df, rownames(raw_DF))raw_DFをリストに変換します。ここで、各コンポーネントは1行のみのデータフレームです。そしてsapply、そのような各データフレームに関数を適用します。

この例で得られるものは次のとおりです。

#       1        2        3        4      
# raw12 3.3      3.1      5.1      4.2    
# cal12 3.463158 3.090909 5.357895 4.20202

(出力があなたにとって意味があることを願っています...)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダの入力として複数の列を使用する関数を適用するにはどうすればよいですか?

分類Dev

Rのカスタム関数を使用してdata.frame内の複数の列を集約するにはどうすればよいですか?

分類Dev

要素に複数の関数を適用し、JavaScriptのカスタムグラフ用に要素自体を保存するにはどうすればよいですか?

分類Dev

PyMCの変数にカスタム関数を適用するにはどうすればよいですか?

分類Dev

関数が複数の入力を必要とする場合、Rのデータフレームのすべての行に関数を適用するにはどうすればよいですか?

分類Dev

Rを使用してデータフレームの特定の列に関数を適用するにはどうすればよいですか?

分類Dev

PowerShellでカスタム関数属性を作成して使用するにはどうすればよいですか?

分類Dev

fgetsとstrtokを使用して複数の入力を取得するにはどうすればよいですか?

分類Dev

関数を複数の列に適用して、Rで複数の新しい列を作成するにはどうすればよいですか?

分類Dev

add_actionによって実行されるカスタム関数にapply_filtersを適用するにはどうすればよいですか?

分類Dev

`cellfun`(MATLAB)を使用して複数のパラメーターを持つ関数を適用するにはどうすればよいですか?

分類Dev

Google Apps Scriptを使用してrequireTextMatchesPattern(pattern)関数のようなカスタム検証関数を作成するにはどうすればよいですか?

分類Dev

データの複数の列に適用される条件を使用して新しい変数を作成するにはどうすればよいですか?

分類Dev

math.jsの行列に要素ごとにカスタムスカラー関数を適用するにはどうすればよいですか?

分類Dev

PHP関数を使用して登録フォームの入力を適切に検証するにはどうすればよいですか?

分類Dev

pv.uneven(FinCalライブラリ)(または入力としてベクトルを持つ関数)をデータフレームのすべての行に適用するにはどうすればよいですか?

分類Dev

2つのシリーズを入力として使用し、出力が引数の各組み合わせの関数結果のDataFrameである関数を適用するにはどうすればよいですか?

分類Dev

Processingでクラスの入力として関数を渡すにはどうすればよいですか?

分類Dev

複数のDataFrame列を使用して複雑な関数を適用するにはどうすればよいですか?

分類Dev

JOptionPaneと配列を使用して、ユーザーによる複数の入力のリストを作成するにはどうすればよいですか?

分類Dev

関数の出力を関数内の別の関数の入力として使用するにはどうすればよいですか

分類Dev

関数の出力を関数内の別の関数の入力として使用するにはどうすればよいですか

分類Dev

HTML / CSSカスタムデータ属性を使用して「a」にCSSを適用するにはどうすればよいですか?

分類Dev

関数を作成してパンダの各行に適用するにはどうすればよいですか?

分類Dev

pandasデータフレームの2列にカスタム関数を適用するにはどうすればよいですか?

分類Dev

ng2-izitoastを使用してトーストにカスタムCSSを適用するにはどうすればよいですか?

分類Dev

背景画像のURLのリストを作成し、jQueryを使用してクリック関数に適用するにはどうすればよいですか?

分類Dev

カスタムフィルター関数を使用してd3.jsの選択を拡張するにはどうすればよいですか?

分類Dev

dplyr mutate-mutateでカスタム関数を適切に適用するにはどうすればよいですか?

Related 関連記事

  1. 1

    パンダの入力として複数の列を使用する関数を適用するにはどうすればよいですか?

  2. 2

    Rのカスタム関数を使用してdata.frame内の複数の列を集約するにはどうすればよいですか?

  3. 3

    要素に複数の関数を適用し、JavaScriptのカスタムグラフ用に要素自体を保存するにはどうすればよいですか?

  4. 4

    PyMCの変数にカスタム関数を適用するにはどうすればよいですか?

  5. 5

    関数が複数の入力を必要とする場合、Rのデータフレームのすべての行に関数を適用するにはどうすればよいですか?

  6. 6

    Rを使用してデータフレームの特定の列に関数を適用するにはどうすればよいですか?

  7. 7

    PowerShellでカスタム関数属性を作成して使用するにはどうすればよいですか?

  8. 8

    fgetsとstrtokを使用して複数の入力を取得するにはどうすればよいですか?

  9. 9

    関数を複数の列に適用して、Rで複数の新しい列を作成するにはどうすればよいですか?

  10. 10

    add_actionによって実行されるカスタム関数にapply_filtersを適用するにはどうすればよいですか?

  11. 11

    `cellfun`(MATLAB)を使用して複数のパラメーターを持つ関数を適用するにはどうすればよいですか?

  12. 12

    Google Apps Scriptを使用してrequireTextMatchesPattern(pattern)関数のようなカスタム検証関数を作成するにはどうすればよいですか?

  13. 13

    データの複数の列に適用される条件を使用して新しい変数を作成するにはどうすればよいですか?

  14. 14

    math.jsの行列に要素ごとにカスタムスカラー関数を適用するにはどうすればよいですか?

  15. 15

    PHP関数を使用して登録フォームの入力を適切に検証するにはどうすればよいですか?

  16. 16

    pv.uneven(FinCalライブラリ)(または入力としてベクトルを持つ関数)をデータフレームのすべての行に適用するにはどうすればよいですか?

  17. 17

    2つのシリーズを入力として使用し、出力が引数の各組み合わせの関数結果のDataFrameである関数を適用するにはどうすればよいですか?

  18. 18

    Processingでクラスの入力として関数を渡すにはどうすればよいですか?

  19. 19

    複数のDataFrame列を使用して複雑な関数を適用するにはどうすればよいですか?

  20. 20

    JOptionPaneと配列を使用して、ユーザーによる複数の入力のリストを作成するにはどうすればよいですか?

  21. 21

    関数の出力を関数内の別の関数の入力として使用するにはどうすればよいですか

  22. 22

    関数の出力を関数内の別の関数の入力として使用するにはどうすればよいですか

  23. 23

    HTML / CSSカスタムデータ属性を使用して「a」にCSSを適用するにはどうすればよいですか?

  24. 24

    関数を作成してパンダの各行に適用するにはどうすればよいですか?

  25. 25

    pandasデータフレームの2列にカスタム関数を適用するにはどうすればよいですか?

  26. 26

    ng2-izitoastを使用してトーストにカスタムCSSを適用するにはどうすればよいですか?

  27. 27

    背景画像のURLのリストを作成し、jQueryを使用してクリック関数に適用するにはどうすればよいですか?

  28. 28

    カスタムフィルター関数を使用してd3.jsの選択を拡張するにはどうすればよいですか?

  29. 29

    dplyr mutate-mutateでカスタム関数を適切に適用するにはどうすればよいですか?

ホットタグ

アーカイブ