標準の式(y〜x1 + x2)を生成する自動化されたスクリプトがあり、これらの変数に基づいてデータをスクリーニングしたいと思います。変数名のリストを使用してデータフレームの列を削除する
これまでのところ、私はここまで得ているが、私は、私はかなりそれを把握することはできませんスティッキングポイントをヒット:
#Example data
df <- data.frame(x=1:5, y=2:6, z=3:7, u=4:8)
df
x y z u
1 1 2 3 4
2 2 3 4 5
3 3 4 5 6
4 4 5 6 7
5 5 6 7 8
#Example formula
ex_form = "x~y+u"
#Delete the ~ and add a + sign to be consistent
step1 = gsub("~","+", ex_form)
#Remove + signs
step2 = strsplit(step1, "\\+")
#Final list of variables
step3 = unlist(step2)
私が見てきた
ほとんどのソリューションは、の線に沿って何かである:
#Create list of variables
mylist = c("x", "y", "u")
#Cut data
temp = df[ ,mylist]
temp
x y u
1 1 2 4
2 2 3 5
3 3 4 6
4 4 5 7
5 5 6 8
しかし、この解決策は自動化にはあまり適していないので、私はその結果に跳ね返ります。何かご意見は?
注:タグは私の推測です。
'df [、step3]'は解決策ではありませんか? – adaien
'df [、step2 [[1]]]'を使って、あなたはすべて設定されています。 – Gopala
@adianaとGopala:うん、それは実際には簡単だった。 – erebusgw