0

基本的な質問ですが、初心者で申し訳ありません:-)そして、これらすべての異なるデータ型などにまだ苦労しています。したがって、列1に異なる変数名を持つテーブルがあります。列2には、これらの変数には特定の値があります。特定の変数の値を抽出したいと思います。

VarNames<-read.table(paste("O:/Daten/RatsDaten/CodesandDescription/VarNamesDir.asc"), sep="", skip=0,header=FALSE)

そしてテーブルはなんとなくこんな感じ

Test1      5
Test2      7
Test3      1

では、これらの Test 変数の値に名前を付けてアクセスするにはどうすればよいでしょうか? VarNames["Test1",2] は機能しませんでした..私が試した他のオプションも機能しませんでした。これにはより良いデータ型オプションがありますか、それとも快適なデータフレームでどのように行うのですか?

4

2 に答える 2

3

この 2 つの状況のいずれかが必要です。

Testxx は VarNames の行名です。rownames(VarNames) を使用してこれをテストできます。この場合、次のようにする必要があります。

    VarNames["Test1",1]    

または、Testxx は列のコンポーネントであり、次のようにする必要があります。

    VarNames[VarNames$v =='Test1',2]

最初のオプションの場合:

m <- matrix(1:3,ncol=1,dimnames=list(paste0('Test',1:3),NULL))
m['Test1',]
Test1 
    1 

2番目のオプション

m1 <- data.frame(v=paste0('Test',1:3),b=1:3)
m1[m1$v=='Test1',]
      v b
1 Test1 1
于 2013-07-03T07:54:16.287 に答える
0

あなたの例は再現できないため、最初の列が行名または値 TestX を持つ変数を示すかどうかは不明です。

変数の場合、テーブルは実際には次のようになります。

V1         V2
Test1      5
Test2      7
Test3      1

そのため、行全体または値のみをTest2呼び出して値を取得できます。2 番目の列なので、2 を指定します。 VarNames[VarNames$V1 == "Test2",]VarNames[VarNames$V1 == "Test2",2]

最初の列が行名を示す場合、呼び出しVarNames["Test2",]は行全体に対するものであるか、@agstudy が回答VarNames["Test2",1]したように、値のみに対するものです。最初に指定されTest2た列は行名であり、列には含まれないため、1 を指定します。

于 2013-07-03T08:00:45.533 に答える