Estimado Tomi Massó Jou Pienso en dos partes, la primera, para ser optimizado debería trabajar con vectores. En todo caso con for, if.
Lo segundo que pienso, usted dice que va a tener muchos datos, ¿Qué pasa si en lugar de data.frame intenta con data.table? Javier Rubén Marcuzzi De: Toni Massó Jou Enviado: jueves, 12 de mayo de 2016 18:50 Para: r-help-es@r-project.org Asunto: [R-es] Division entre el numero de ocurrencias parciales y totalesdentro de un DataFrame de manera eficiente Hola: A ver si me podéis ayudar que estoy atascado... Necesito contar los subcasos de la columna 2 de un dataframe respecto a los casos de la columna 1. Es decir, tengo un data.frame a<-c(rep(c('a','b','c','b','c'),3),'b') b<-c(rep(c('x','y','z','w'),4)) c<-c(rep(c(1,1,0,0),4)) df1<-data.frame(a,b,c,stringsAsFactors = FALSE) Y necesito contar los casos donde aparece "a" y "x" y dividirlo por el total de filas con primera columna=a. , df1: > df1 a b 1 a x 2 b y 3 c z 4 b w 5 c x 6 a y 7 b z 8 c w 9 b x 10 c y 11 a z 12 b w 13 c x 14 b y 15 c z 16 b w Si hago df2<-df1%>%group_by(a)%>%count(a,b,c) df3<-df1%>%group_by(a)%>%count(a) en el df2: a b n (chr) (chr) (int) 1 a x 1 2 a y 1 3 a z 1 4 b w 3 5 b x 1 6 b y 2 7 b z 1 8 c w 1 9 c x 2 10 c y 1 11 c z 2 Necesito transformarlo en: a b n (chr) (chr) (int) 1 a x 1/3 2 a y 1/3 3 a z 1/3 4 b w 3/7 5 b x 1/7 6 b y 2/7 7 b z 1/7 8 c w 1/6 9 c x 2/6 10 c y 1/6 11 c z 2/6 donde 1/3 es el número de filas con valor (a,x)/totalvalores a. En fin, no se si me explico. El problema que tengo es que voy a tener muchisimas filas con pocas repeticiones, y no consigo hacer algo minimamente eficiente (y ya no digamos elegante). Muchas gracias por vuestro tiempo! Att. Toni [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es