Está en la página 1de 2

################################FUNCIONES####################################

#declaro la funcion
funcion1=function(x){
y=x^2+(2*x)+3 #proceso
return(y) #salida
}
#para evaluar la funcion
funcion1(2)

#una funcion nueva con dos variables


funcion2=function(x,y){
z=x^2+y^2+(2*x*y)+10
return(z) #salida
}
funcion2(2,3)

#### cargamos la informacion del ecxel y le damos header= TRUE porque tiene
encavezado

datos=read.table("clipboard",header=TRUE)
################para mirar que departamentos tenemos
datos$DEPARTAMENTO
#PARA MOSTRARNOS LOS QUE SON UNICOS O (MOSTRAR SIN REPETIR)
unique(datos$DEPARTAMENTO)

# PARA FILTRAR DEPARTAMENTOS DIRENTESS A META


cond1=datos$DEPARTAMENTO=="META"
#fila de la 1 a la 5 y las cuatro primeras columnas
datos[1:5,1:4]
cond2=datos$CULTIVO=="ARROZ"
#la coma va al final para mostrar que me tire todas las columnas
datos[cond1&cond2,]

################�calcular la produccion total de arroz, en el Meta, para los a�os


2006-2010####
cond1=datos$DEPARTAMENTO=="META"
cond2=datos$CULTIVO=="ARROZ"
########### una condici�n es (| (�))
cond3=datos$PERIODO=="2007A"|datos$PERIODO=="2007B"

datos[cond1&cond2&cond3,]

####### primer indicador ############


#####################################
#####################################

sum(datos[cond1&cond2&cond3,7])
############# calcular
#area sembrada total
#area cosechada
#rendimiento promedio
############################para no llamar la columna por el nombre la llamamos por
el numero de columna
asembrada_total=sum(datos[cond1&cond2&cond3,5])
acosechada_total=sum(datos[cond1&cond2&cond3,6])
prod_total=sum(datos[cond1&cond2&cond3,7])
rend_promedio=mean(datos[cond1&cond2&cond3,8])

#################2 ejemplo############################
##########Una funcion que para un departamento, cultivo y a�o, calcule los
indicadores######
########### estructura --proceso y salida

indicadores_agro=function(DEPARTAMENTO,CULTIVO,ANIO){

cond1=datos$DEPARTAMENTO==DEPARTAMENTO
cond2=datos$CULTIVO==CULTIVO
#la funcion paste nos une dos caracteres, en este caso nos une a�o y 2007 pero
toca adicionarle sep="" para que me separe a�o del 2007
cond3=datos$PERIODO==paste(ANIO,"A",sep="")|
datos$PERIODO==paste(ANIO,"B",sep="")|datos$PERIODO==ANIO

asembrada_total=sum(datos[cond1&cond2&cond3,5])
acosechada_total=sum(datos[cond1&cond2&cond3,6])
prod_total=sum(datos[cond1&cond2&cond3,7])
rend_promedio=mean(datos[cond1&cond2&cond3,8])

#cbin me une en forma de columna los resultados y rowsbin es en forma


de fila cuando le pongo c me pone los nombres
resultados=cbind(asembrada_total,acosechada_total,prod_total,rend_promedio)

return(resultados)}
indicadores_agro("META","ARROZ",2010)

############### si queremos realizar un grafico######################## utilizamos


ciclo

for(i in 2007:2010){
print(indicadores_agro("META","ARROZ",i))}

############2Ejemplo : para un departamento y un cultivo de interes, utilizar la


funci�n para calcular desde el a�o 2007- 2010,
#los indicadores y graficar cada una de las variables con barras � tortas

####puedo almacenar como matriz o por columna


##para que me guarde la producci�n

#el ciclo-- para almacenarlo se nombra en prod y los corchetes son para la
ubicaci�n

prod=array(NA, 4)
for(i in 2007:2010){
#i- 2006 es la pocicion uno desde 2007
prod[i-2006]=indicadores_agro("META","MAIZ",i)[3]}

names(prod)=2007:2010
barplot(prod,main="Produccion de maiz en el Meta")

También podría gustarte