Note that there are some explanatory texts on larger screens.

plurals
  1. POConvert character matrix into numeric matrix
    primarykey
    data
    text
    <p>I have a 7 by 31 character matrix called <code>extra4</code> and its structure looks like this:</p> <pre><code>&gt; str(extra4) chr [1:7, 1:31] "36.88 " " 45.48 " " 52.46 " " 111.31 " " 138.45 " " 121.09 " " 122.62" ... - attr(*, "dimnames")=List of 2 ..$ : chr [1:7] "1990" "1991" "1992" "1993" ... ..$ : chr [1:31] "1" "2" "3" "4" ... </code></pre> <p>After reading similar questions in SO I've tried the following but I've failed:</p> <pre><code>&gt;matrix(as.numeric(unlist(extra4)),nrow=nrow(extra4)) Warning message: In matrix(as.numeric(unlist(extra4)), nrow = nrow(extra4)) : NAs introduced by coercion </code></pre> <p>and also I've tried </p> <pre><code>&gt; class(extra4)&lt;-"numeric" Warning message: In class(extra4) &lt;- "numeric" : NAs introduced by coercion &gt; extra4&lt;-apply(extra4, 1, as.numeric) Warning messages: 1: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 2: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 3: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 4: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 5: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 6: In apply(extra4, 1, as.numeric) : NAs introduced by coercion 7: In apply(extra4, 1, as.numeric) : NAs introduced by coercion &gt; extra4&lt;-apply(extra4, 2, as.numeric) There were 31 warnings (use warnings() to see them) </code></pre> <p>I've also tried changing the matrix to data frame and then doing <code>sapply(extra4, as.numeric)</code> but this did not work either, and I've also tried writing the data as csv but somehow the output ends up including non-numeric characters.</p> <p>It's strange because especially after doing the above, only some of the numbers are turned to numeric values. However, I'm sure that all elements are character, because when I compare those which are saved and those which are not, I get</p> <pre><code>&gt; str(extra4[1,1]) chr "36.88 " &gt; str(extra4[1,2]) chr " 19.11 " </code></pre> <p>I'm also adding the following to show my data in more detail:</p> <pre><code>&gt; dput(extra4) structure(c("36.88 ", " 45.48 ", " 52.46 ", " 111.31 ", " 138.45 ", " 121.09 ", " 122.62", " 19.11 ", " 27.97 ", " 37.14 ", " 47.68 ", " 60.78 ", " 35.84 ", " 38.64", " 56.21 ", " 74.94 ", " 92.3 ", " 118.62 ", " 138.13 ", " 104.65 ", " 113.98", " 30.48 ", " 51.54 ", " 61.57 ", " 99.87 ", " 80.9 ", " 84.97 ", " 99.34", "20.16 ", " 24.76 ", " 27.76 ", " 37.53 ", " 50.53 ", " 28.8 ", " 25.06", " 87.73 ", " 98.68 ", " 119.95 ", " 150.74 ", " 214.35 ", " 118.5 ", " 129.19", " 32.36 ", " 36.52 ", " 42.67 ", " 56.55 ", " 89.22 ", " 49.97 ", " 50.62", "35.09 ", " 40.77 ", " 48.43 ", " 82.61 ", " 120.1 ", " 72.43 ", " 76.69", " 47.21 ", " 67.25 ", " 78.62 ", " 66.64 ", " 83.78 ", " 127.79 ", " 154.11", " 86.1 ", " 127.59 ", " 164.43 ", " 249.32 ", " 312.01 ", " 272.09 ", " 265.68", " 83.75 ", " 118.41 ", " 171.52 ", " 229.27 ", " 241.63 ", " 201 ", " 213.01", " 36.63 ", " 52.1 ", " 66.03 ", " 101.38 ", " 126.71 ", " 95.46 ", " 110.03", " 57.5 ", " 75.72 ", " 101.31 ", " 147.5 ", " 171.01 ", " 148.66 ", " 167.93", " 29.56 ", " 38.37 ", " 48.8 ", " 65.5 ", " 84.77 ", " 75.2 ", " 81.27", " 77.28 ", " 93.7 ", " 119.62 ", " 247 ", " 301.76 ", " 222.52 ", " 244.46", " 45.6 ", " 54.32 ", " 87.81 ", " 132.93 ", " 163.62 ", " 152.99 ", " 170.85", " 27.13 ", " 36.96 ", " 48.94 ", " 80.01 ", " 124.07 ", " 93.49 ", " 105.57", " 54.55 ", " 85.93 ", " 102.3 ", " 122.7 ", " 168.36 ", " 151.79 ", " 169.65", " 86.19 ", " 121.82 ", " 191.7 ", " 247.75 ", " 260.23 ", " 196.48 ", " 243.06", "47.35 ", " 60.63 ", " 76.4 ", " 93.04 ", " 102.13 ", " 98.29 ", " 86.27", " 10.93 ", " 13.33 ", " 16.82 ", " 18.2 ", " 23.48 ", " 16.52 ", " 16.19", " NA ", " NA ", " NA ", " NA ", " 69.46 ", " 54.22 ", " 60.16", " 60.93 ", " 89.86 ", " 141.85 ", " 207.9 ", " 182.79 ", " 159.1 ", " 159.46", " 15.37 ", " 18.48 ", " 24.33 ", " 38.37 ", " 45.87 ", " 34.86 ", " 31.96", " 34.05 ", " 40.1 ", " 55.02 ", " 58.31 ", " 86.89 ", " 65.68 ", " 65.68", "1.51 ", " 0.93 ", " 1 ", " 1.78 ", " 2.8 ", " 1.56 ", " 1.41", " 27.15 ", " 31.37 ", " 39.46 ", " 40.33 ", " 61.86 ", " 45.18 ", " 57.71", " 14.74 ", " 16.3 ", " 25.06 ", " 31.74 ", " 37.39 ", " 27.18 ", " 30.49", " 3.59 ", " 4.86 ", " 5.67 ", " 6.36 ", " 7.6 ", " 4.8 ", " 5.5", "4.73 ", " 5.68 ", " 7.3 ", " 8.53 ", " 11.03 ", " 8.44 ", " 9.84", "16.76 ", " 24.83 ", " 32.66 ", " 46.22 ", " 48.01 ", " 43.44 ", " 48.29"), .Dim = c(7L, 31L), .Dimnames = list( c("1990", "1991", "1992", "1993", "1994", "1995", "1996"), c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" ))) </code></pre> <p><code>sessionInfo()</code> gave the following:</p> <pre><code> &gt; sessionInfo() R version 3.0.0 (2013-04-03) Platform: x86_64-apple-darwin10.8.0 (64-bit) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] gdata_2.13.2 loaded via a namespace (and not attached): [1] gtools_2.7.1 tools_3.0.0 </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload