如何删除行和列

时间:2018-10-13 07:38:09

标签: r

我使用的图书馆:

library(ggplot2)
library(dplyr)
library(statsr)



```{r}
factor_sc <- table(gss1$class, gss1$getahead) 
factor_sc <- addmargins(factor_sc)
factor_sc 
```

我写这个,输出是:

               Hard Work Both Equally Luck Or Help Other   Sum
  Lower Class        1063          368          299     0  1730
  Working Class     10229         3221         1870     0 15320
  Middle Class       9914         3624         1612     0 15150
  Upper Class         701          265          100     0  1066
  No Class              0            0            0     0     0
  Sum               21907         7478         3881     0 33266

我想对此数据进行卡方推断,以便删除“其他”和“否”类。

但是,我已经使用以下命令将其删除:

```{r} 
gss1 <- gss %>%   filter(!is.na(getahead),
!is.na(class), class != "No Class", getahead !="Other") 
```

为什么OtherNo class出现在我的表格中?

2 个答案:

答案 0 :(得分:1)

这里有些误解。 filter用于删除数据集的行。您想要的是将class的{​​{1}}更改为NA"No Class"是您所需要的。

尝试以下代码:

mutate

可能需要使用gss1 <- gss %>% mutate(class = ifelse(class=="No Class", NA, class), getahead = ifelse(getahead =="Other", NA, getahead )) %>% select(class, getahead) %>% table %>% chisq.test 而不是NA_character_

您可以通过编写以下代码从NA中删除这些行和列:

factor_sc

答案 1 :(得分:0)

对于列,尝试简单的df $ column <-NULL;对于行,尝试类似的操作。 如果尝试是为了取得更大的好运。