Yes, that worked for me.  Thank you.

On Mon, Nov 28, 2011 at 10:16 PM, David Winsemius <dwinsemius@comcast.net>wrote:

>
> On Nov 29, 2011, at 1:08 AM, Katrina Bennett wrote:
>
>  I'd like to sum a matrix only where the matrix meets a specific condition.
>> The matrix has 365 rows and about 50,000 columns.
>>
>
> If you describe the meaning attached to the data if might help readers
> understand what the acceptable options might be. (Please read the Posting
> Guide.)
>
>
>
>> str(cdem.mat.yr)
>> num [1:365, 1:41772] -43.5 -48.4 -45.9 -38.4 -32 ...
>>
>> I'm having trouble replicating this because it is not working out for me,
>> so I'm unsure I can provide an solid working example (apologies).
>>
>> I would like to subset my matrix where the values are greater than zero. I
>> can do this easily using the following command to generate a matrix of
>> TRUE/FALSE conditions.
>>
>> thaw.index <- subset(cdem.mat.yr > 0)
>>
>
> Are you hoping to subset particular rows?
>
> If not, then you can make a copy and then set the negative values to NA
>
>  thaw.mat <-cdem.mat.yr
>  is.na(thaw.mat)<- thaw.mat < 0
>
> and ...
>
>  rowSums(thaw.mat, na.rm=TRUE)
>
>
>
>> However, every time I then try to run apply, or rowSums to sum the matrix
>> rows using this index, I get back errors messages or the wrong answer.
>>
>
> I am guessing that your subset operation produced a vector and that apply
> or rowSums no longer makes any sense.
>
>  There is a lot of values that meet this condition, so I know this issue is
>> with my formatting of the argument.
>>
>> i.e.
>> rowSums(cdem.mat.yr == thaw.index)
>>  [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> [66] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> [131] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0
>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> [196] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0
>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> [261] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0
>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> [326] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 0
>> 0 0 0 0 0
>>
>> thaw.index.sum <- apply(cdem.mat.yr[which(cdem.**mat.yr > 0)], 1, sum)
>> Error in apply(cdem.mat.yr[which(cdem.**mat.yr > 0)], 1, sum) :
>>  dim(X) must have a positive length
>>
>> This just provides me with one single value (I want the sum of all the
>> rows
>> individually)
>> sum(apply(cdem.mat.yr, 1, function(x) x>0))
>>
>> If I only run the apply over the entire matrix, this works but I can't
>> subset it according to my condition.
>>
>> apply(cdem.mat.yr, 1, sum)
>>  [1] -1834000.521 -2038684.652 -1932676.585 -1619369.113 -1353598.426
>> -1190377.640 -1263541.796 -1438280.178 -1472440.385 -1714465.774
>> [11] -1945920.377 -2163888.712 -1836656.208 -1772994.790 -1864650.604
>> -1633144.043 -1580619.187 -1684046.620 -1769963.843 -1787676.116
>> [21] -1643345.342 -1497455.795 -1580307.433 -1483559.628 -1531067.546
>> -1557093.271 -1363626.528 -1160882.203 -1118893.494 -1352922.958
>> [31] -1441715.250 -1539084.024 -1717835.433 -1806727.136 -1887120.912
>> -1645721.673 -1310700.520 -1531408.644 -1582011.715 -1460538.996
>> [41] -1192880.165 -1211111.092 -1190390.732 -1241594.368 -1180704.394
>> -1025346.594 -1073581.060  -889662.991  -798735.050  -784632.707
>> [51]  -874676.120  -957186.890 -1054610.980 -1067208.121 -1222859.353
>> -1477327.599 -1635653.310 -1696308.770 -1473630.951 -1283105.867
>> [61] -1061390.704  -811017.224  -875804.422  -851608.811  -948160.325
>> -1440351.359 -1206523.958 -1143659.246 -1405071.144 -1421438.254
>> [71] -1374929.105 -1336184.952 -1237185.588 -1082307.120 -1019742.616
>> -958257.706  -888078.311  -790481.841  -821010.686  -907205.025
>> [81]  -966761.676  -926937.928  -908394.310  -976085.444  -971934.490
>> -703952.655  -521541.649  -625973.624  -743458.875  -631452.421
>> [91]  -584709.631  -565843.210  -604252.152  -616885.977  -522011.655
>> -576824.263  -726170.003  -822902.735  -897385.940  -668897.194
>> [101]  -525227.323  -493291.723  -559480.809  -627790.133  -607923.974
>> -535240.664  -346627.878  -343257.607  -287171.179  -324723.615
>> [111]  -389052.208  -420393.385  -498589.819  -542040.688  -394442.745
>> -183163.637  -126540.029  -186213.012  -179799.971  -364410.639
>> [121]  -309555.880  -357052.251  -321362.137  -394878.460  -498785.071
>> -309942.686  -276417.534  -337700.381  -304804.510  -238100.600
>> [131]  -261210.843  -201821.616  -299377.673  -232015.614  -121752.676
>> -154925.661  -145809.729    15840.738   145755.754   -33601.212
>> [141]   -24323.630    35036.731    55156.441    48603.824    87203.646
>> 139653.449   111722.558   101036.307   153884.464   153151.263
>> [151]   112680.914   108730.812   110198.055   127087.033    77174.238
>> -67632.638   -35129.976    56801.006     6712.631     8838.200
>> [161]    40086.874   -29691.225   -55861.564     7561.504    91232.944
>> 31752.447     1694.756   -43835.544     2522.883    41727.218
>> [171]    26918.990   128692.011   114752.327   131455.862   127149.113
>> 144686.214   160344.465   102204.088   130322.785    70392.818
>> [181]   100384.523   210138.826   230235.443   211137.595   199770.103
>> 167185.988   103951.789   125589.859   224791.286   302672.172
>> [191]   268148.251   258709.018   263356.469   122460.767   103103.124
>> 1996.530    55150.667   148763.608   188425.704   172693.650
>> [201]   173253.653   101070.947   142112.846   112317.201   101550.125
>> 157215.618   184009.183    60265.750    94310.493   123499.949
>> [211]   174061.906   247635.961   268679.388   277766.454   307758.389
>> 357310.030   178755.543   127887.604    99974.033   138429.524
>> [221]   119383.635    49204.240    51923.431    68469.511    63187.005
>> 214353.285   394362.626   238075.491    94333.586   -13273.666
>> [231]   -79469.532   -40806.205   -76871.578   -49806.672     1228.690
>> -38687.429   -55499.077  -102810.705   -83816.775   -60862.409
>> [241]   -66168.008   -78153.236   -33324.097   -92072.137  -135488.177
>> -179163.704  -112465.506   -15616.185    29229.741   -34415.330
>> [251]   -32972.658    17278.772   -39965.022  -112357.551  -141587.923
>> -105968.196  -109854.967  -133479.542  -135685.520  -173992.141
>> [261]  -152909.182  -131791.656  -166530.917  -228831.447  -350692.928
>> -418850.501  -495572.140  -539540.225  -632322.131  -728383.982
>> [271]  -706613.842  -572388.522  -313981.672  -529208.500  -484367.815
>> -396279.857  -424551.369  -363920.897  -357247.042  -338639.919
>> [281]  -298365.860  -295808.318  -296616.571  -275798.300  -378353.975
>> -448394.813  -517904.514  -665762.732  -706816.178  -702220.686
>> [291]  -741409.378  -815699.314  -749468.808  -648206.337  -538353.298
>> -507039.293  -545760.353  -752355.424  -781048.382  -700609.954
>> [301]  -787629.865  -920471.910  -987297.058 -1101214.452 -1164491.033
>> -1233146.792 -1187575.379  -967913.570  -830991.543 -1017500.681
>> [311] -1250575.007 -1416678.263 -1402879.243 -1251974.831 -1023492.832
>> -1026830.185 -1293833.488 -1516913.350 -1557436.391 -1718719.068
>> [321] -1725813.094 -1658967.540 -1643884.838 -1849296.409 -1891710.750
>> -1623420.016 -1286998.600 -1260085.087 -1381181.790 -1191308.082
>> [331]  -977525.224 -1158107.546 -1270227.479  -930469.578  -526018.105
>> -714733.479  -977507.860 -1207830.910  -991946.711  -769735.051
>> [341]  -970481.838 -1224850.395 -1349246.203 -1428091.218 -1494887.500
>> -1376951.938 -1367801.367 -1353437.568 -1361260.296 -1438702.417
>> [351] -1502473.526 -1652947.018 -1767153.073 -1517986.198 -1273778.527
>> -1009474.240 -1000104.286 -1061987.549  -975002.278  -945633.852
>> [361] -1211242.890 -1419950.962 -1533983.821 -1551817.331 -1636464.444
>>
>>
>> Thoughts?
>>
>> Thank you,
>> Katrina
>>
>>        [[alternative HTML version deleted]]
>>
>> ______________________________**________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
>> PLEASE do read the posting guide http://www.R-project.org/**
>> posting-guide.html <http://www.R-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> David Winsemius, MD
> West Hartford, CT
>
>


-- 
Katrina E. Bennett
PhD Student
University of Alaska Fairbanks
International Arctic Research Center
930 Koyukuk Drive, PO Box 757340
Fairbanks, Alaska 99775-7340
907-474-1939 office
907-385-7657 cell
kebennett@alaska.edu


Personal Address:
UAF, PO Box 752525
Fairbanks, Alaska 99775-2525
bennett.katrina@gmail.com

	[[alternative HTML version deleted]]

