1

x行列またはデータ フレームから列を抽出するために使用する要素を持つベクトルがあるとしますM

の場合、 は認識されますが、は認識されないため、ヘッダー名の列を抽出するためにx[1] = "A"使用できません。この場合ではなく、引用符を削除するにはどうすればよいですか?M$x[1]AM$AM$"A"M$x[1]M$AM$"A"

4

1 に答える 1

2

$この場合は使用しないでください。代わりに使用[します。これは最小限の例です(あなたが何をしようとしているのか理解できれば)。

mydf <- data.frame(A = 1:2, B = 3:4)
mydf
#   A B
# 1 1 3
# 2 2 4

x <- c("A", "B")
x
# [1] "A" "B"

mydf[, x[1]]                  ## As a vector
# [1] 1 2

mydf[, x[1], drop = FALSE]    ## As a single column `data.frame`
#   A
# 1 1
# 2 2

R Infernoで答えが見つかると思います。サークル 8 から始めます。「名前ではなく文字列」サブセクションの 1 つである「意図したとおりに機能すると信じていますThe main difference is that $ does not allow computed indices, whereas [[ does.?Extract.


マトリックスまたはデータ フレームから列を抽出する[row, column]アプローチを使用して質問が指定されているため、このアプローチが採用されていることに注意して$くださいmatrix

于 2013-10-23T17:51:06.613 に答える