Here is one way that might work.

x <- list(a=runif(10), b=runif(30), c=runif(25))
# unlist and then construct a factor to put them back together
x.u <- unlist(x)
x.f <- unlist(mapply(rep, names(x), sapply(x, length)))
# find the lowest 5 values and set to -1
x.u[order(x.u)[1:5]] <- -1
# put back together
split(x.u, x.f)


On Sat, Feb 21, 2009 at 11:51 PM,  <mau...@alice.it> wrote:
> I am experiencing some problems at working with lists at high level.
> In the following "coef" contains the original DWT coefficients organized in a 
> list.
> Thorugh applying the following two commands:
>  coef.abs <- lapply(unlist(coef,recursive=FALSE,use.names =TRUE),abs)
>  coef.abs.sorted <- sort(unlist(coef.abs),decreasing=TRUE)
> I get vector "coef.abs.sorted" containing the coefficients absolute value 
> ordered by decreasing magnitude, whose first 10 elements I set to zero after 
> applying an iterative math formula (telling me how many coefficient values to 
> spare).
> My problem is setting to zero the correspondent coefficients in the original 
> "coef" list so as to reconstruct the signal from the depleted coefficients 
> set, given that the above operations have erased the list structure. I can 
> get the labels of the coefficients that have to be zeroed ... but the names 
> of vector  "coef.abs.sorted" elements differes from the original "coef" list 
> elements as shown in the following:
>  > names(coef.abs.sorted[1:10])
>  [1] "d6.d6(0)"  "d5.d5(2)"  "d5.d5(0)"  "d4.d4(2)"  "d5.d5(1)"  "d4.d4(1)"  
> "d4.d4(6)"  "d4.d4(5)"  "d4.d4(3)"
> [10] "d3.d3(12)"
> I wonder if there exists a high level command to set to zero respectively the 
> coefficients in list "coef":
> - Level=6, Oscillation-Number=0
> - Level=5, Oscillation-Number=0,1,2
> - Level=4, Oscillation-Number=1,2,3,5.6
> - Level=3, Oscillation-Number=12
>
>
>> coef
> $d1
>        d1(0)         d1(1)         d1(2)         d1(3)         d1(4)         
> d1(5)         d1(6)         d1(7)
>  1.075111e-02 -4.777441e-03 -2.775026e-03  2.011722e-03 -2.376611e-02 
> -1.574422e-03 -2.810372e-02  8.542393e-03
>        d1(8)         d1(9)        d1(10)        d1(11)        d1(12)        
> d1(13)        d1(14)        d1(15)
> -1.754845e-02 -7.363856e-04  3.123922e-03  1.053743e-02 -1.014095e-02  
> 1.059210e-02 -4.152311e-03 -7.320749e-04
>       d1(16)        d1(17)        d1(18)        d1(19)        d1(20)        
> d1(21)        d1(22)        d1(23)
> -3.680064e-03  5.620248e-03 -2.251741e-03 -1.454674e-02  1.891275e-02  
> 2.092009e-03 -1.286729e-02  9.037282e-03
>       d1(24)        d1(25)        d1(26)        d1(27)        d1(28)        
> d1(29)        d1(30)        d1(31)
> -1.027137e-02  1.014230e-02 -2.175260e-03 -1.689383e-03 -2.016800e-03  
> 3.984632e-03 -1.563781e-03 -3.801979e-03
>       d1(32)        d1(33)        d1(34)        d1(35)        d1(36)        
> d1(37)        d1(38)        d1(39)
>  6.976144e-04  1.048419e-03 -1.319865e-02 -8.368520e-04  6.618890e-03 
> -5.835673e-03  8.721318e-03  2.018621e-02
>       d1(40)        d1(41)        d1(42)        d1(43)        d1(44)        
> d1(45)        d1(46)        d1(47)
> -3.329934e-03 -4.823901e-03  2.957486e-02 -2.887600e-02  2.500062e-02 
> -2.207839e-02  1.516034e-02  4.328945e-05
>       d1(48)        d1(49)        d1(50)        d1(51)        d1(52)        
> d1(53)        d1(54)        d1(55)
>  1.605634e-02 -2.360298e-02  7.875788e-03 -4.129065e-03 -1.014460e-02 
> -2.676679e-03 -9.953614e-03 -8.844977e-03
>       d1(56)        d1(57)        d1(58)        d1(59)
> -2.141513e-02 -7.405836e-03 -5.078857e-03  8.480675e-04
>
> $d2
>       d2(0)        d2(1)        d2(2)        d2(3)        d2(4)        d2(5)  
>       d2(6)        d2(7)        d2(8)
>  0.033393680  0.015767682 -0.006008297  0.016899336  0.006661543  0.005297962 
> -0.005782728 -0.009358879 -0.012128449
>       d2(9)       d2(10)       d2(11)       d2(12)       d2(13)       d2(14)  
>      d2(15)       d2(16)       d2(17)
> -0.014097771  0.003439004 -0.010154074  0.031203264 -0.057290615  0.004552577 
>  0.061358997 -0.040730889  0.004064522
>      d2(18)       d2(19)       d2(20)       d2(21)       d2(22)       d2(23)  
>      d2(24)       d2(25)       d2(26)
> -0.007208508  0.010426952  0.003855540 -0.011492580  0.035028591  0.029604957 
> -0.020069126 -0.018983905 -0.033710992
>      d2(27)       d2(28)       d2(29)
>  0.035848240 -0.014716622  0.008372893
>
> $d3
>       d3(0)        d3(1)        d3(2)        d3(3)        d3(4)        d3(5)  
>       d3(6)        d3(7)        d3(8)
>  0.020437693 -0.023658475  0.033448175  0.009689787  0.024750901  0.040022643 
>  0.016532575 -0.035730498 -0.048828011
>       d3(9)       d3(10)       d3(11)       d3(12)       d3(13)       d3(14)
> -0.012357469 -0.042282285  0.010908775 -0.061393069  0.058384786 -0.036842060
>
> $d4
>      d4(0)       d4(1)       d4(2)       d4(3)       d4(4)       d4(5)       
> d4(6)
>  0.05419644 -0.23596007  0.84412709  0.06639234  0.02718491  0.15101792 
> -0.18101631
>
> $d5
>     d5(0)      d5(1)      d5(2)
>  2.3514158 -0.4952582 -2.5589658
>
> $d6
>    d6(0)
> -5.643476
>
>
>> coef.abs.sorted
>    d6.d6(0)     d5.d5(2)     d5.d5(0)     d4.d4(2)     d5.d5(1)     d4.d4(1)  
>    d4.d4(6)     d4.d4(5)     d4.d4(3)
> 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 
> 0.000000e+00 0.000000e+00 0.000000e+00
>   d3.d3(12)    d2.d2(15)    d3.d3(13)    d2.d2(13)     d4.d4(0)     d3.d3(8)  
>   d3.d3(10)    d2.d2(16)     d3.d3(5)
> 0.000000e+00 6.135900e-02 5.838479e-02 5.729061e-02 5.419644e-02 4.882801e-02 
> 4.228228e-02 4.073089e-02 4.002264e-02
>   d3.d3(14)    d2.d2(27)     d3.d3(7)    d2.d2(22)    d2.d2(26)     d3.d3(2)  
>    d2.d2(0)    d2.d2(12)    d2.d2(23)
> 3.684206e-02 3.584824e-02 3.573050e-02 3.502859e-02 3.371099e-02 3.344818e-02 
> 3.339368e-02 3.120326e-02 2.960496e-02
>   d1.d1(42)    d1.d1(43)     d1.d1(6)     d4.d4(4)    d1.d1(44)     d3.d3(4)  
>    d1.d1(4)     d3.d3(1)    d1.d1(49)
> 2.957486e-02 2.887600e-02 2.810372e-02 2.718491e-02 2.500062e-02 2.475090e-02 
> 2.376611e-02 2.365848e-02 2.360298e-02
>   d1.d1(45)    d1.d1(56)     d3.d3(0)    d1.d1(39)    d2.d2(24)    d2.d2(25)  
>   d1.d1(20)     d1.d1(8)     d2.d2(3)
> 2.207839e-02 2.141513e-02 2.043769e-02 2.018621e-02 2.006913e-02 1.898390e-02 
> 1.891275e-02 1.754845e-02 1.689934e-02
>    d3.d3(6)    d1.d1(48)     d2.d2(1)    d1.d1(46)    d2.d2(28)    d1.d1(19)  
>    d2.d2(9)    d1.d1(34)    d1.d1(22)
> 1.653258e-02 1.605634e-02 1.576768e-02 1.516034e-02 1.471662e-02 1.454674e-02 
> 1.409777e-02 1.319865e-02 1.286729e-02
>    d3.d3(9)     d2.d2(8)    d2.d2(21)    d3.d3(11)     d1.d1(0)    d1.d1(13)  
>   d1.d1(11)    d2.d2(19)    d1.d1(24)
> 1.235747e-02 1.212845e-02 1.149258e-02 1.090878e-02 1.075111e-02 1.059210e-02 
> 1.053743e-02 1.042695e-02 1.027137e-02
>   d2.d2(11)    d1.d1(52)    d1.d1(25)    d1.d1(12)    d1.d1(54)     d3.d3(3)  
>    d2.d2(7)    d1.d1(23)    d1.d1(55)
> 1.015407e-02 1.014460e-02 1.014230e-02 1.014095e-02 9.953614e-03 9.689787e-03 
> 9.358879e-03 9.037282e-03 8.844977e-03
>   d1.d1(38)     d1.d1(7)    d2.d2(29)    d1.d1(50)    d1.d1(57)    d2.d2(18)  
>    d2.d2(4)    d1.d1(36)     d2.d2(2)
> 8.721318e-03 8.542393e-03 8.372893e-03 7.875788e-03 7.405836e-03 7.208508e-03 
> 6.661543e-03 6.618890e-03 6.008297e-03
>   d1.d1(37)     d2.d2(6)    d1.d1(17)     d2.d2(5)    d1.d1(58)    d1.d1(41)  
>    d1.d1(1)    d2.d2(14)    d1.d1(14)
> 5.835673e-03 5.782728e-03 5.620248e-03 5.297962e-03 5.078857e-03 4.823901e-03 
> 4.777441e-03 4.552577e-03 4.152311e-03
>   d1.d1(51)    d2.d2(17)    d1.d1(29)    d2.d2(20)    d1.d1(31)    d1.d1(16)  
>   d2.d2(10)    d1.d1(40)    d1.d1(10)
> 4.129065e-03 4.064522e-03 3.984632e-03 3.855540e-03 3.801979e-03 3.680064e-03 
> 3.439004e-03 3.329934e-03 3.123922e-03
>    d1.d1(2)    d1.d1(53)    d1.d1(18)    d1.d1(26)    d1.d1(21)    d1.d1(28)  
>    d1.d1(3)    d1.d1(27)     d1.d1(5)
> 2.775026e-03 2.676679e-03 2.251741e-03 2.175260e-03 2.092009e-03 2.016800e-03 
> 2.011722e-03 1.689383e-03 1.574422e-03
>   d1.d1(30)    d1.d1(33)    d1.d1(59)    d1.d1(35)     d1.d1(9)    d1.d1(15)  
>   d1.d1(32)    d1.d1(47)
> 1.563781e-03 1.048419e-03 8.480675e-04 8.368520e-04 7.363856e-04 7.320749e-04 
> 6.976144e-04 4.328945e-05
>
>
> Thank you so much.
> Maura
>
>
>
>
>
>
>
> tutti i telefonini TIM!
>
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

______________________________________________
R-help@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.

Reply via email to