[R] get column index with match using apply
arun
smartpink111 at yahoo.com
Sun Jun 9 05:48:37 CEST 2013
Hi,
dat1$colIndex<-apply(dat1,1,function(x) match(max(x),x))
dat1
# v1 v2 v3 v4 max colIndex
#1 0 0 1 2 2 4
#2 0 1 2 0 2 3
#3 1 2 3 4 4 4
A.K.
----- Original Message -----
From: Camilo Mora <cmora at dal.ca>
To: r-help at r-project.org
Cc:
Sent: Saturday, June 8, 2013 8:14 PM
Subject: [R] get column index with match using apply
Hi everyone,
This is probably something very simple but I have just not been able
to figure it out and wonder if perhaps you may know.
I want to get the column index in which a given value is found. Values
to match are found in the last column of the dataframe. for instance
dt=
v1 v2 v3 v4 max
0 0 1 2 2
0 1 2 0 2
1 2 3 4 4
expected output:
v1 v2 v3 v4 max colIndex
0 0 1 2 2 4
0 1 2 0 2 3
1 2 3 4 4 4
I am using:
apply(dt, 1, function(x) match(max,x))
but there is an error in setting "max" in match to be dynamic for each
row. I have play around with different configurations and google it
with no success.
Any input will be greatly appreciated,
best,
Camilo
Camilo Mora, Ph.D.
Department of Geography, University of Hawaii
Currently available in Colombia
Phone: Country code: 57
Provider code: 313
Phone 776 2282
From the USA or Canada you have to dial 011 57 313 776 2282
http://www.soc.hawaii.edu/mora/
______________________________________________
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