1

私はこのデータセットを持っています

  names age height weight
1   joe  23    170     65
2  jack  25    173     73
3   jim  27    168     71
4 james  23    172     70

身長が 173 歳未満の人のすべての情報を取得したいので、次のようにします。

short <- c(t(subset(dfD, height < 173, select = names)))

shortこれを返します

[1] "joe" "jim" "jack"

しかし、そのリストからすべてのデータを取得しようとすると...

dfD[(dfD[1] == short),]

これだけを返します

  names age height weight
1   joe  23    170     65

どうすればこれを機能させることができますか?

名前リストを作成し、そのすべてのデータをそのように取得できるようにしたいのですが...どうすれば可能ですか?

4

1 に答える 1

2

subset()データ フレームのサブセットをdlply()選択し、データ フレームをリストに変更します。これは、あなたの望むことですか?

## Your data
df = read.table(text = "  names age height weight
  joe  23    170     65
  jack  25    173     73
  jim  27    168     71
  james  23    172     70", header = TRUE, sep = "")

  library(plyr) 
   short = subset(df, height < 173)
  data.list = dlply(short, "names")

また

  short = subset(df, height < 173, "names")
  subset(df, names %in% short[[1]])
于 2012-05-03T07:07:53.230 に答える