[R] indexing in data frames

arun smartpink111 at yahoo.com
Thu Aug 9 23:33:57 CEST 2012


HI,

You can get the results you wanted by:
c=list(c(1985,1982,1984),c(1988,1980),c(1983,1984),c(1988,1998,1993),c(1993,1994,1998))
b1<-list(1988,1989,1990,1991,1992)
for(i in 1:length(b1)){
 anew[[i]]<-list()
 anew[[i]]<-b1[[i]]-c[[i]]
 }
 anew
[[1]]
[1] 3 6 4

[[2]]
[1] 1 9
-------
-------
But, if you wanted both both a list and a vector in a dataframe "a"
It is possible:
b<-c(1988,1989,1990,1991,1992)
c=list(c(1985,1982,1984),c(1988,1980),c(1983,1984),c(1988,1998,1993),c(1993,1994,1998))

 a<-data.frame(b,c1=cbind(c))

 a
#     b                c
#1 1988 1985, 1982, 1984
#2 1989       1988, 1980
#3 1990       1983, 1984
#4 1991 1988, 1998, 1993
#5 1992 1993, 1994, 1998
anew1<-list()
for(i in 1:nrow(a)){
 anew1[[i]]<-list()
 anew1[[i]]<-a$b[i]-a$c[[i]]
 }
> anew1
[[1]]
[1] 3 6 4

[[2]]
[1] 1 9

[[3]]
[1] 7 6

[[4]]
[1]  3 -7 -2

[[5]]
[1] -1 -2 -6
A.K.




----- Original Message -----
From: jimi adams <jadams at american.edu>
To: r-help at r-project.org
Cc: 
Sent: Thursday, August 9, 2012 4:42 PM
Subject: [R] indexing in data frames

I'm still not fully understanding exactly how R is handling data frames, but am getting closer. Any help with this one will likely go a long way in getting me there. Let's say I have a data frame, let's call it "a". Within that data frame i have two variables, let's call them "b" and "c", where "b" is a single numeric value per observation, while "c" is a LIST of numeric values. What I want to be able to do is perform an operation on each element in "c" by the single element in "b". 

So, for example, if I wanted to subtract each element in "c" from the scalar in "b". For example, if i had

> a$b
[1] 1988
[2] 1989
…
& 
> a$c
[[1]]
[1] 1985 1982 1984
[[2]]
[1] 1988 1980
…

I'm looking for a result of:
a$new
[[1]]
[1] 3 6 4
[[2]]
[1] 1 9
…

I've tried a few different things, none of which have the desired result. Any help appreciated.
thanks!

jimi adams
Assistant Professor
Department of Sociology
American University
e: jadams at american.edu
w: jimiadams.com

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




More information about the R-help mailing list