0

入力ファイルが 1 つあります。

猫ファイル

 ABC   2 3 4
 DEF   3 4 5 
 FRD   3 5 6

 input<-read.table(file)

名前がキーで、値が連続した数値のベクトルであるデータフレームにこれをロードして、値を取得できるようにします。

データフレームにデータを動的に保存するにはどうすればよいですか?

4

2 に答える 2

1

listあなたは私が推測するものを探しています:

df <- structure(list(V1 = structure(1:3, 
      .Label = c("ABC", "DEF", "FRD"), class = "factor"), 
      V2 = c(2L, 3L, 3L), V3 = 3:5, V4 = 4:6), 
      .Names = c("V1", "V2", "V3", "V4"), class = "data.frame", 
      row.names = c(NA, -3L))

df.l <- as.list(df[,2:4])
names(df.l) <- df[,1]

# $ABC
# [1] 2 3 3

# $DEF
# [1] 3 4 5

# $FRD
# [1] 4 5 6

これで、次のようにしてこれらのベクトルにアクセスできます。df.l[["ABC"]]

または、それを として保持したい場合はdata.frame、最初data.frameの列を列名として作成する必要があります。

df.o <- df[,2:4]
names(df.o) <- df[,1]

#   ABC DEF FRD
# 1   2   3   4
# 2   3   4   5
# 3   3   5   6

これで、a にアクセスするのと同じようにアクセスできますlist(adata.frameは内部的にlistも a です)。

> df.o[["ABC"]] # or equivalently as df$ABC
# [1] 2 3 3
于 2013-02-21T07:34:23.223 に答える
1

これらの値を最初の列を行名として保存した場合、次の形式を使用してアクセスできます。

 dfrm["ABC", ]   # result  c(2,3,4)

 dfrm <- read.table(text="V1 V2 V3
  ABC   2 3 4
  DEF   3 4 5 
  FRD   3 5 6",  header=TRUE )
dfrm["ABC" , ]
#     V1 V2 V3
# ABC  2  3  4
于 2013-02-21T07:35:15.043 に答える