今日私を逃しているように見える単純なものをもっと「そうあるべきだと感じます」。よろしくお願いします。
関数内のループ内で、列を追加して、式に基づいて名前を付けようとしています。
列をバインドでき、その名前はバインドされたオブジェクトから取得されます。data<-cbind(data,bothdata)
列をバインドし、バインドされたオブジェクトに手動で名前を付けることができます。data<-cbind(data,newname=bothdata)
方程式の積である列をバインドし、バインドされたオブジェクトに手動で名前を付けることができます。data<-cbind(data,newname2=bothdata-1)
または別の方法:data <- transform(data, newColumn = bothdata-1)
私ができないのは、名前を式の積にすることです。私の実際の数式から派生した例の名前はpaste("E_wgt",rev(which(rev(Esteps) == q))-1,"%")
、列の & 方程式:baddata - q
です。
より単純なもの: data<-cbind(data,paste("magic",100,"beans")=bothdata-1)
. 前の例でcbind
はうまくいきましたが、期待していないため、これは失敗します。=
についても同じ失敗transform
。
私の最初の考えは、フォーラム名のオブジェクトを作成するためにこれをうまく使用しましたが、式の名前の列assign
に対してそれを機能させる方法がわかりません。
中間ステップを使用して名前付け式をオブジェクト コンテナーに配置する場合は、それを使用します。
name <- paste("magic",100,"beans")
data<-cbind(data,name=bothdata-1)
列名は「magic100beans」ではなく「name」です。assign
式の結果が式名のオブジェクトになる場合:
assign(paste("magic",100,"beans"),bothdata-1)
次に、次の方法で cbind を試みget
ます。
data<-cbind(data,get(paste("magic",100,"beans")))
列は「get(paste("magic",100,"beans"))」と呼ばれます。ブー!誰か考えはありますか?私はcbind
それを個別colnames(data)[ncol(data)] <- paste("magic",100,"beans"))
に行うことができると思いますが、今のところ解決すると思いますが、それでも直接的な方法があるかどうかを知りたいと思います。
ありがとう。