0%

R语言数据处理中的0值和NA值

R语言处理数据中的0值和NA值。

1. 去除每个值都是0的行

1
2
3
4
5
6
7
# 读入数据
> data <- read.csv(file= "data.csv",header=T)

# 去除整个数据中每行都是0值的行
> data1 <- data[which(rowSums(data)>0),]
# 去除数据框3至7列中都是0值的行
> data1 <- data[which(rowSums(data[3:7])>0),]

2. 去除存在值为0的行

1
> data2 <- data[which(rowSums(data==0)==0),]

3. 将0值替换为其他值

1
> data[data==0] <- NA

4. 去除含有NA的行

1
> data3 <- na.omit(data)

5. 将NA值替换为0

1
> data[is.na(data)] <- 0

6. drop_na()

去掉含有NA值的行:

1
df %>% drop_na()

去除某一列有缺失值的行:

1
df %>% drop_na(col1)

7. replace_na()

将score列中的NA值改为0:

1
df %>% mutate(score=replace_na(score,0))

将score列中的NA值改为均值:

1
df %>% mutate(score=replace_na(score,mean(score,na.rm=TRUE)))