2016-08-31 1 views
0

これは簡単だと確信していますが、解決策が見つかりませんでした。私は、文字列を配置する は、データフレームを作成するには、関数data.frameのデータdata.frameを生成するために文字列を方向として使用する方法は?

Data 
[1] "as.numeric(dataset$a),as.numeric(dataset1$a)" 

と呼ばれます。試してみます:

DB<-data.frame(Data) 

ですが、出力はマイストリングです。私はDBを呼び出す場合、出力Infactはは次のとおりです。データセット$ Aに

Data 
1 as.numeric(dataset$a),as.numeric(dataset1$a) 

ない値、DATASET1 $。 ありがとう

+0

なぜあなたはそれをしますか? –

+0

私は自分のデータフレームを変更しなければならないので、文字列(たとえば、データセット$ aからdataset5 $ a)を何度も使用するために、dglInputを置いて別の名前の部分を選択してデータフレームを作成します。私の英語には申し訳ありませんが、私は説明が難しいです。 –

+0

問題を最初に紹介し、解決策の助けを借りてください。あなたが今やっているやり方は間違っています。 'eval(parse(...' –

答えて

1

確かに、あなたがやりたいことは何でもやり直してください。しかし、文字列をコードのように実際に実行したい場合は、eval(parse(text = string))構造を使用できます。しかし、一般にコードを書くのは悪い方法です。それにもかかわらず、ここに解決策があります:

# a test dataframe 
df = data.frame(a = 1:10, b = 11:20) 
# string with code to run 
string = "as.numeric(df$a),as.numeric(df$b)" 
# split on , since those are separate lines of code 
str = unlist(strsplit(string, ',')) 
# put it in a dataframe 
df2 = data.frame(sapply(str, function(string) eval(parse(text = string)))) 
+0

ありがとう!それは完璧に動作します:) –

関連する問題