0
にデータフレームから変数名を使用:私はこのようになりますいくつかのデータを持って操作
dfA <- data.frame("First Var Name" = rnorm(20,3),
"Second Var Name" = rnorm(20,5),
"Third Var Name" = rnorm(20,4),
"Fourth Var Name" = rnorm(20,4))
dfB <- data.frame(Grouping = c("A","B","B","A"),
Varname = c("First Var Name", "Second Var Name", "Third Var Name", "Fourth Var Name"))
を私は、そのグループ内の変数の最初の主要なコンポーネントを取り、group_by
グループにdplyrでDFBを使用したいですdfA
に適用されます。
dfC <- dfB %>%
group_by(Grouping) %>%
relevantvars <- .$Varname %>%
data.frame(`Grouping' = prcomp(dfA[,relevantvars])$x[,1])
しかし、変数名を取得し、変数名としてグループ化することは難しいことが分かりました。私もpasteコマンドと組み合わせて試しましたが、それもうまくいきませんでした。ここで私は得るために期待していますものです:
dfC <- data.frame(A = prcomp(dfA[,c(1,4)])$x[,1], B = prcomp(dfA[,c(2,3)])$x[,1])
あなたは文字値として格納された変数名がある場合は、例えば、dplyrの標準的な評価バリアントを使用する必要があります'group_by_'です。 [the NSE vignette](https://cran.r-project.org/web/packages/dplyr/vignettes/nse.html)を参照してください。 – alistaire
また、スペースの名前を列に付けておくと、膨大な量のバッククォートを必要とするため、dplyrのNSEはいくらか意味がありません。 – alistaire
これはデータがRに入った方法ですが、これはdplyrを使う前に変更することができますが、可能な限り元のデータを真似しようとしていました。 NSEを見ていきましょう、ありがとう。 – Almacomet