1

私は dplyr の熱心なファンですが、重要な複雑さを実行しようとすると必然的に発生するいくつかの NSE 問題にまだ戸惑っています。

適切な例: 列のサブセットの行の合計を見つける。

temp <- data.frame(A = 1:3, B = 4:6, C = 8:10)

これは機能します:

temp %>% {rowSums(select(., B:C), na.rm = TRUE)}

そしてこれ(SEバージョン)は動作します:

temp %>% mutate(Sum = rowSums(select_(., .dots = "B:C"), na.rm = TRUE))

しかし、これは機能しません:

temp %>% mutate(Sum = rowSums(select(., B:C), na.rm = TRUE))

Error: Position must be between 0 and n
In addition: Warning messages:
1: In 4:6:8:10 : numerical expression has 3 elements: only the first used
2: In 4:6:8:10 : numerical expression has 3 elements: only the first used

なんで?

4

0 に答える 0