2017-06-22 1 views
1

値else。私。R Iは、DFを持っている場合はNAを削除せずに、分割データフレームは

リスト< - スプリット(DF、DFの$のbody_part == '頭')

私はNAの行を削除せずにそれを行うことができますか? (私は、文字列でNASに埋める場合、私はそれを行うことができます知っているが、そのステップを避ける方法はありますか?)?`%in%`から

+1

'スプリット(DF、%「頭」内のDF $ body_partの%)' – thelatemail

答えて

5

それ「%で%」決して'NA'を返すと、 'if'条件の場合には特に役に立ちます( )。

# just to show how the `==` comparison compares 
> df$s_col <- df$body_part == 'head' 

> split(df, df$body_part %in% 'head') 
$`FALSE` 
    letter body_part s_col 
3  c  <NA> NA 
4  d  <NA> NA 
5  e left_foot FALSE 

$`TRUE` 
    letter body_part s_col 
1  a  head TRUE 
2  b  head TRUE 
+0

@TimBiegeleisen - なぜdf $ s_colを追加するのですか? – thelatemail

+0

あなたの回答出力は、私が正しく読むと、そのような列があることを前提としています。 –

+0

@TimBiegeleisen - 私は答えを貼り付ける前にあなたの答えのコードを実行していたことを忘れていました。 :-) – thelatemail

0
> ind <- df$body_part == 'head' 
> ind[is.na(ind)] <- FALSE 
> split(df, ind) 
$`FALSE` 
# A tibble: 3 x 2 
    letter body_part 
    <chr>  <chr> 
1  c  <NA> 
2  d  <NA> 
3  e left_foot 

$`TRUE` 
# A tibble: 2 x 2 
    letter body_part 
    <chr>  <chr> 
1  a  head 
2  b  head 
+1

は「*私は文字列でNASに埋める場合、私はそれを行うことができます知っているが、ことを避ける方法がありますstep?* " – thelatemail

関連する問題