1

私は私のファンタジー フットボール リーグのためにいくつかのものに取り組んでいます。一連のデータ フレームにデータを入力し、それぞれにポジションの名前を付けます (例: クォーターバックの QB、ランニング バックの RB など)。

apply() 関数を使用して、位置の個別のチャンクを 1 つのデータフレームに rbind することで多くのことを行うことができましたが、実際にやりたいことは、位置ごとに何かからテキストを取り除くことです。

QBという名前のデータフレームがあり、列の1つはPlayerと呼ばれ、削除したい余分なテキストがあります。

したがって、これを行うと、次のように機能します。

thePosNick <- "QB"
thePlayer <- paste(thePosNick, "$Player", sep="")
g <- str_replace(eval(parse(text=thePlayer)), "remove this text", "")
g <- str_replace(g, "more meaningless text", "")
g <- str_trim(g)
#expected behavior:
QB$Player <- g

それはうまくいきますが、これを動的に実行できるようにしたいのですが、次のことはうまくいかないようです:

thePosNick <- "QB"
thePlayer <- paste(thePosNick, "$Player", sep="")
g <- str_replace(eval(parse(text=thePlayer)), "remove this text", "")
g <- str_replace(g, "more meaningless text", "")
g <- str_trim(g)
#but i'd love to be able to do something like this:
assign(thePlayer, value=g)

誰が私が間違っているのか教えてもらえますか? どんな提案でも大歓迎です、ありがとう!

4

4 に答える 4

0

1つの迅速で汚い解決策は

eval(parse(text=paste(thePlayer,"<-g",sep="")))

ただし、これらのオブジェクトを文字列として名前で操作することは、この問題全体を解決するための最もクリーンな方法ではないかもしれないと思わずにはいられません。

于 2013-09-24T15:35:56.363 に答える