title: only append list elements that are not "TRUE"
body: <p>I have three lists: <code>test1</code>, <code>test2</code>, <code>test3</code>:</p>
  <pre><code>test1 &lt;- list(`0` = &quot;text&quot;, `1` = T)
  test2 &lt;- list(`0` = &quot;text&quot;, `1` = &quot;text&quot;)
  test3 &lt;- list(`0` = T, `1` = T)
  </code></pre>
  <p>In these lists i only want to keep information that is <strong>NOT</strong> <code>TRUE</code>. For this i am using lapply:</p>
  <pre><code>test1 &lt;- lapply(test1, function(x) x[!isTRUE(x)])
  test2 &lt;- lapply(test2, function(x) x[!isTRUE(x)])
  test3 &lt;- lapply(test3, function(x) x[!isTRUE(x)])
  </code></pre>
  <p>Now, i would like to append test1, test2 and test3 to an empty list with equally named list elements. However, i only want to append enteries that are text. The text may vary and there is no way to do this by character matching. I am currently getting:</p>
  <pre><code>$test1
  $test1$`0`
  [1] &quot;text&quot;
  
  $test1$`1`
  logical(0)
  
  
  $test2
  $test2$`0`
  [1] &quot;text&quot;
  
  $test2$`1`
  [1] &quot;text&quot;
  
  
  $test3
  $test3$`0`
  logical(0)
  
  $test3$`1`
  logical(0)
  </code></pre>
  <p>desired result is:</p>
  <pre><code>$test1
  $test1$`0`
  [1] &quot;text&quot;
  
  
  $test2
  $test2$`0`
  [1] &quot;text&quot;
  
  $test2$`1`
  [1] &quot;text&quot;
  
  
  $test3
  NULL
  </code></pre>
  <p>How can i avoid getting <code>logical(0)</code> and obtain my desired result?</p>