1.创建新的变量:transform() 函数允许你为现有的数据框添加新的列,或者修改现有列的值,而不需要改变数据集原有的行和列的结构。
library(dplyr)
假设我们有一个名为 df 的数据框
df <- data.frame(
x = c(1, 2, 3),
y = c(4, 5, 6)
)
使用 transform() 为 df 添加一个新列 z,z 是 x 和 y 的和
df <- transform(df, z = x + y)
查看修改后的数据框
print(df)
--------------
x y z
1 1 4 5
2 2 5 7
3 3 6 9
2.变量的重编码
library(dplyr)
df <- data.frame(
x = c(1, 2, 3),
y = c(4, 5, 6)
)
#将大于2的数字重编码为small
df$x[df$x>2] <- "small"
print(df)
-----------------
x y
1 1 4
2 2 5
3 small 6
3.变量的重命名
library(dplyr)
df <- data.frame(
x = c(1, 2, 3),
y = c(4, 5, 6)
)
names(df)[2] <- "z"
print(df)
-----------------
x z
1 1 4
2 2 5
3 3 6
4.缺失值
4.1 识别缺失值
library(dplyr)
df <- data.frame(
x = c(1, 2, 3),
y = c(4, 5, NA)
)
is.na(df$y)
-----------------
[1] FALSE FALSE TRUE
4.2 重编码为缺失值
library(dplyr)
df <- data.frame(
x = c(1, 2, 3),
y = c(0, 5, NA)
)
df$y[df$y==0] <- NA
print(df)
-----------------
x y
1 1 NA
2 2 5
3 3 NA
4.3 在分析中排除缺失值
x <- c(1, 2, 3)
y <- c(0, 5, NA)
z <- x+y
print(z)
---------
#含有缺失值的算术表达式和函数的计算结果也为缺失值
[1] 1 7 NA
x <- c(1, 2, 3)
y <- c(0, 5, NA)
z <- sum(x+y, na.rm=TRUE)
print(z)
---------
#na.rm=TRUE移除缺失值,使用剩余的值计算
[1] 8
df <- data.frame(
x = c(1, 2, 3),
y = c(0, 5, NA)
)
df2 <- na.omit(df)
print(df2)
---------
#na.omit()删除所有含有缺失数据的行
x y
1 1 0
2 2 5