s-news
[Top] [All Lists]

[S] Conditioning in Tables

To: s-news@wubios.wustl.edu
Subject: [S] Conditioning in Tables
From: "Ross Darnell" <R.E.Darnell@newcastle.ac.uk>
Date: Tue, 30 Jun 1998 10:52:33 GMT0BST
Reply-to: R.E.Darnell@ncl.ac.uk
Sender: owner-s-news@wubios.wustl.edu
I have been looking for a way to generate conditional tables based on 
elements of data frame.

As an example

I can generate a table, Tab,

> Tab

, , 1
  1 2 3 4 
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 0 0 0 0
6 1 0 0 0
7 0 0 0 1

, , 2
  1 2 3 4 
1 0 0 1 0
2 0 1 0 0
3 0 0 0 0
4 0 0 0 0
5 1 0 0 0
6 0 0 0 0
7 0 0 0 0

generated from a data frame, X,

> X
   X1 X2 X3 
 1  3 NA  1
 2  6  1  1
 3 NA  2  1
 4  7  4  1
 5  4 NA  1
 6  1  3  2
 7  2  2  2
 8 NA NA  2
 9 NA  2  2
10  5  1  2

I would like, as an example, the conditional table of X$X1 given 
X$X2=2 and X$X3=2, which correponds to the 9th row of X (NA,2,2).
This can be done manually simply by subscripting the array Tab.

> Tab[ ,2,2]
 1 2 3 4 5 6 7 
 0 1 0 0 0 0 0

Another example correpsonding to row 8 of X (NA,NA,2) is

> Tab[,,2]
  1 2 3 4 
1 0 0 1 0
2 0 1 0 0
3 0 0 0 0
4 0 0 0 0
5 1 0 0 0
6 0 0 0 0
7 0 0 0 0

which is the conditional joint table for X1 and X2 given X3=2.

The problem is how can I write a program to use a row of the data 
matrix X as input into the table function like this

Tab[X[9,]]

Mind you this may be the absolutely wrong approach to the problem. 
Any reasonable approach would be welcomed.

Thanks for your time

Ross Darnell
-----------------------------------------------------------------------
This message was distributed by s-news@wubios.wustl.edu.  To unsubscribe
send e-mail to s-news-request@wubios.wustl.edu with the BODY of the
message:  unsubscribe s-news

<Prev in Thread] Current Thread [Next in Thread>