68

重複の可能性:
ドロップ列 R データ フレーム

列 c1、c2、c3 を持つデータフレームがあるとします。

c1 と c2 だけをリストしたい。それ、どうやったら出来るの?

私はもう試した:

head(data[column!="c3"])
head(data)[,2]
head(data[!"c3"])
4

2 に答える 2

141

名前による負のインデックス ( tcash21 の数値インデックスに加えて) を探している場合は、私が知っているいくつかの方法を次に示します。

mtcars[, -which(names(mtcars) == "carb")]  #only works on a single column
mtcars[, names(mtcars) != "carb"]          #only works on a single column
mtcars[, !names(mtcars) %in% c("carb", "mpg")] 
mtcars[, -match(c("carb", "mpg"), names(mtcars))] 
mtcars2 <- mtcars; mtcars2$hp <- NULL         #lost column (risky)


library(gdata) 
remove.vars(mtcars2, names=c("mpg", "carb"), info=TRUE) 

一般的に私は使用します:

mtcars[, !names(mtcars) %in% c("carb", "mpg")] 

安全で効率的だと思うからです。

于 2012-10-13T00:07:38.657 に答える
84

インデックスを作成し、負号を使用して 3 番目の列を削除できます。

data[,-3]

または、最初の 2 列のみを一覧表示できます。

data[,c("c1", "c2")]
data[,1:2]

コンマを忘れないでください。データ フレームの参照は次のように機能します。data[row,column]

于 2012-10-12T23:53:32.153 に答える