前もってありがとうございました。そして、この質問が以前に答えられたのであれば申し訳ありません - 私はかなり広く見えました。私は、連結された情報の行を含むデータセットを持っています。具体的には、名前、カラーコード、関数式などです。例えば、1つの値は、文字のベクトルから関数のリストを作成
コスト#FF0033 @ log(x)+6であってもよい。
私は情報を抽出するためのコードをすべて持っており、実際の関数のリストに変換したい式のベクトルになります。例えば
:test.funcは式のベクトルである
func.list <- list()
test.func <- c("x","x+1","x+2","x+3","x+4")
。私が希望することです:
func.list[[3]]
は私が使用して関数を作成することができることを知って
function(x){x+3}
に相当すると:
somefunc <- function(x){eval(parse(text="x+1"))}
は、関数に文字値を変換します。問題は、私が複数の機能を作るために試してループするときに起こります。
for(i in 1:length(test.func)){
temp <- test.func[i]
f <- assign(function(x){eval(expr=parse(text=temp))})
func.list[[i]] <- f
}
別のポストに基づいて(http://stats.stackexchange.com/questions/3836/how-to-create-a-vector-of:動作しませんでした私が試した何かの例-functions)また、私はこれを試してみました:次のエラーを与える
makefunc <- function(y){y;function(x){y}}
for(i in 1:length(test.func)){
func.list[[i]] <- assign(x=paste("f",i,sep=""),value=makefunc(eval(parse(text=test.func[i]))))
}
:エラーをevalの中で(式expr、ENVIR、enclos):オブジェクトが
最終的な目標は、リストを取ることですが見つかりません 'X' j番目の関数をdata.frameのj番目のカラムに適用することで、スクリプトのユーザは各カラムを正規化する方法を指定することができます列ヘッダによって与えられた連結情報内の列。
感謝!!それは完璧に働いた。私は、私がそうすることができるようになると、私は他のユーザーのための追加の答えとして私がタスクを完了するために使用したコードを追加します。 (そして、すべてのコメント/編集/削除/その他のことについて申し訳ありません - 私はSOにはっきりと新しくなっています) – dayne
@dayne私はあなたに、まったく問題の手を頂いたと思います。 – joran