73

R にリストまたはデータ フレームがあり、行インデックスを取得したいとします。つまり、特定の行列が何行で構成されているかを知りたいのです。

4

7 に答える 7

95

私はあなたの質問を行番号の取得に関するものと解釈しています。

  • as.numeric(rownames(df))行名を設定していない場合は試すことができます。それ以外の場合は、のシーケンスを使用します1:nrow(df)
  • このwhich()関数は、TRUE/FALSE行インデックスを行番号に変換します。
于 2010-03-03T11:34:00.433 に答える
17

正確に何をしようとしているのかは明確ではありません。

データ フレームの行を参照するには、次を使用します。df[row,]

何かのベクトルの最初の位置を取得するにmatch(item,vector)は、ベクトルがデータ フレームの列の 1 つである可能性があります (たとえばdf$cname、列名が cname の場合)。

編集:

これらを組み合わせるには、次のように記述します。

df[match(item,df$cname),]

一致するとリストの最初の項目が得られることに注意してください。したがって、一意の参照番号を探していない場合は、別のものを検討することをお勧めします。

于 2010-03-03T11:11:49.413 に答える
12

を参照rowしてください?base::row。これにより、行列のようなオブジェクトの行インデックスが得られます。

于 2011-06-20T05:08:54.750 に答える
7
rownames(dataframe)

これにより、データフレームのインデックスが得られます

于 2020-04-29T06:35:51.443 に答える
4

私があなたの質問を理解していれば、データフレーム(またはリスト)内のアイテムに行ごとにアクセスできるようにしたいだけです:

x = matrix( ceiling(9*runif(20)), nrow=5  )   
colnames(x) = c("col1", "col2", "col3", "col4")
df = data.frame(x)      # create a small data frame

df[1,]                  # get the first row
df[3,]                  # get the third row
df[nrow(df),]           # get the last row

lf = as.list(df)        

lf[[1]]                 # get first row
lf[[3]]                 # get third row

于 2010-03-03T11:59:09.643 に答える