Pelo que entendi a lista "banda" que você enviou contem dados de
correlação e você quer selecionar apenas os cujo valor são
menores ou iguais a 0.3. Se for só isso você pode utilizar o comando:
f<-function(x) x[x<=0.3]
lapply(bandas,FUN=f)
Em 9 de outubro de 2014 18:57, Rodrigo Muniz
<[email protected] <mailto:[email protected]>> escreveu:
Caros,
Tenho uma dataframe com cerca de 1500 variáveis e gostaria de
saber a correlação entre essas variáveis, então gerei uma
matriz de correlação.
Como muitas variáveis estão altamente correlacionadas, eu
gostaria de selecionar apenas as variáveis que tenham, por
exemplo, no máximo uma correlação de 0,3. Para isso eu
utilizei a função findCorrelation do pacote caret. Pela
descrição, a função foi feita para isso, selecionar as
variáveis mais correlacionadas, considerando um limite de corte.
Como eu gostaria das variáveis menos correlacionadas, eu
inverti minha matriz de correlação, pelo seguinte comando:
as.matrix(sqrt((matrix.cor-1)^2), desta forma, a função
selecionaria as variáveis menos correlacionada.
No entanto, o resultado da função sempre me retorna bandas
altamente correlacionada. Por isso gostaria de fazer de uma
forma alternativa. Segue um pequeno exemplo para ajudar nas
considerações.
Se alguém souber uma forma de programar para obter esse
resultado, aceito um direcionamento.
Desde já agradeço pela atenção.
require(caret)
filtro=c(0.7) #Este parâmetro foi criado para definir o
liminar de corte, como a #matriz está inversa, um valor de
0,7 que dizer que a correlação máxima entre as #variáveis
deve cer de 0,3.
matrix.cor <- as.data.frame(cor(bandas))# Gerar a matriz de
correlação
banda.selecao=bandas[,findCorrelation(as.matrix(sqrt((matrix.cor-1)^2)),
cutoff=as.numeric(filtro), verbose=FALSE)] #
selecionar do dataframe #original apenas as variáveis com
fraca correlação.
bandas=structure(list(X1417 = c(0.161042, 0.186075, 0.202966,
0.211156,
0.172813, 0.167929, 0.175015, 0.200225, 0.178143, 0.182516,
0.162152,
0.169258, 0.14955, 0.143907, 0.161655, 0.164643, 0.157703,
0.160282,
0.177145, 0.169043), X1366 = c(0.352479, 0.376561, 0.372766,
0.39279, 0.36767, 0.368855, 0.361146, 0.390109, 0.373625,
0.383793,
0.371615, 0.375047, 0.363033, 0.341382, 0.372219, 0.375438,
0.359356,
0.372921, 0.375115, 0.36681), X469 = c(0.07749, 0.098493,
0.083867,
0.101454, 0.087098, 0.088587, 0.079879, 0.083187, 0.087261,
0.091197,
0.085591, 0.091496, 0.081759, 0.093462, 0.094817, 0.089399,
0.087421,
0.08966, 0.097024, 0.084687), X1549 = c(0.233143, 0.262691,
0.266292,
0.280087, 0.247662, 0.242888, 0.237161, 0.269429, 0.25326,
0.260258,
0.239942, 0.244771, 0.224855, 0.211901, 0.237555, 0.242471,
0.232943,
0.234706, 0.248407, 0.243808), X1424 = c(0.149535, 0.176297,
0.193145, 0.197999, 0.16312, 0.156738, 0.165102, 0.190595,
0.165941,
0.171179, 0.149601, 0.158143, 0.139422, 0.131351, 0.150353,
0.153668,
0.145654, 0.149609, 0.162426, 0.158941), X1957 = c(0.045334,
0.078347, 0.055058, 0.071466, 0.04449, 0.052894, 0.066396,
0.087972,
0.053841, 0.073682, 0.068851, 0.04738, 0.044667, 0.060964,
0.061176,
0.065722, 0.052965, 0.05974, 0.07101, 0.076109), X1848 =
c(0.247498,
0.280584, 0.274104, 0.278935, 0.252584, 0.256848, 0.235115,
0.274966,
0.268281, 0.267282, 0.255826, 0.23335, 0.237109, 0.230515,
0.262255,
0.258836, 0.2387, 0.265159, 0.271541, 0.265838), X1537 =
c(0.218761,
0.248475, 0.254953, 0.264756, 0.233748, 0.230395, 0.224644,
0.256149,
0.236666, 0.24462, 0.223847, 0.229429, 0.210074, 0.198872,
0.220081,
0.227677, 0.217309, 0.21968, 0.231893, 0.226282), X1621 =
c(0.285036,
0.31607, 0.313035, 0.331176, 0.302131, 0.300669, 0.290153,
0.323815,
0.307194, 0.318355, 0.298653, 0.303098, 0.285467, 0.269884,
0.297272,
0.301428, 0.291555, 0.300164, 0.302502, 0.299489), X1602 =
c(0.273662,
0.302662, 0.304277, 0.319991, 0.29179, 0.291713, 0.281382,
0.313998,
0.296813, 0.305874, 0.286391, 0.294462, 0.27532, 0.260575,
0.287217,
0.289802, 0.279721, 0.285657, 0.291856, 0.289307), X1865 =
c(0.199668,
0.229541, 0.230852, 0.245059, 0.226876, 0.215756, 0.207998,
0.254432,
0.20988, 0.226653, 0.206045, 0.194866, 0.195796, 0.183774,
0.214694,
0.231647, 0.207081, 0.208682, 0.223025, 0.199142), X1476 =
c(0.144097,
0.170145, 0.187837, 0.192702, 0.158221, 0.154393, 0.160075,
0.184072,
0.162413, 0.166724, 0.147404, 0.15375, 0.133576, 0.128008,
0.146151,
0.150793, 0.143929, 0.141969, 0.158288, 0.154279), X2034 =
c(0.081108,
0.110882, 0.100852, 0.109914, 0.109893, 0.06942, 0.128299,
0.139094,
0.10447, 0.125726, 0.118003, 0.075258, 0.090784, 0.055216,
0.102326,
0.101315, 0.08443, 0.123796, 0.104067, 0.102786), X1460 =
c(0.136055,
0.161915, 0.177241, 0.184844, 0.149423, 0.143712, 0.150499,
0.173385,
0.150807, 0.156626, 0.138878, 0.145282, 0.125618, 0.120778,
0.138968,
0.139961, 0.133014, 0.132243, 0.150618, 0.144916), X1236 =
c(0.41637,
0.440245, 0.422308, 0.453948, 0.428499, 0.436163, 0.427196,
0.454866,
0.433779, 0.451874, 0.447265, 0.44747, 0.44684, 0.422101,
0.451307,
0.452207, 0.436043, 0.454355, 0.44641, 0.437131), X1913 =
c(0.049649,
0.06384, 0.080675, 0.0761, 0.062756, 0.056635, 0.074517,
0.084222,
0.054835, 0.05488, 0.06389, 0.058421, 0.054827, 0.050249,
0.063544,
0.066275, 0.057604, 0.072578, 0.070545, 0.061034), X1885 =
c(0.105368,
0.136086, 0.161411, 0.146339, 0.115904, 0.121671, 0.149059,
0.145293,
0.125417, 0.145147, 0.124081, 0.112018, 0.101411, 0.096761,
0.122112,
0.114244, 0.105535, 0.122283, 0.140519, 0.121402), X492 =
c(0.080821,
0.102833, 0.088743, 0.10809, 0.093344, 0.096766, 0.083556,
0.089436,
0.091601, 0.100154, 0.089925, 0.096294, 0.087353, 0.097834,
0.102614,
0.09692, 0.096883, 0.094752, 0.102917, 0.089361), X1916 =
c(0.037402,
0.063136, 0.08053, 0.071535, 0.059838, 0.0555, 0.060523,
0.079581,
0.044433, 0.055137, 0.055831, 0.054455, 0.054067, 0.055332,
0.062323,
0.0651, 0.05896, 0.075877, 0.069466, 0.064714), X1249 =
c(0.416616,
0.440854, 0.423568, 0.455739, 0.428821, 0.436904, 0.42868,
0.455141,
0.432762, 0.45234, 0.447037, 0.448069, 0.445743, 0.420802,
0.455476,
0.453444, 0.43817, 0.454327, 0.444599, 0.437981)), .Names =
c("X1417",
"X1366", "X469", "X1549", "X1424", "X1957", "X1848", "X1537",
"X1621", "X1602", "X1865", "X1476", "X2034", "X1460", "X1236",
"X1913", "X1885", "X492", "X1916", "X1249"), row.names = c(NA,
20L), class = "data.frame")
--
*Rodrigo A. Muniz*
Eng. Agrônomo. Ms Produção Vegetal (UENF)
Doutorando em Engenharia de Sistemas Agrícolas (ESALQ/USP)
E-mail - [email protected] <mailto:[email protected]>
Cel (19) 98300-4333 <tel:%2819%29%2098300-4333> (Pessoal)
_______________________________________________
R-br mailing list
[email protected] <mailto:[email protected]>
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
forneça código mínimo reproduzível.