[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