我有一个包含不同变量的数据帧。例如:
x10 <- c(1, 2, 3)
x11 <- c(3, 2, 1)
x12 <- c(1, 2, 3)
y05_p <- c(5, 6, 7)
y06_p <- c(4, 5, 6)
y07_p <- c(3, 4, 5)
dat <- data.frame(x10, x11, x12, y05_p, y06_p, y07_p)
> dat
x10 x11 x12 y05_p y06_p y07_p
1 1 3 1 5 4 3
2 2 2 2 6 5 4
3 3 1 3 7 6 5
现在我想去掉一些变量,但有特定的条件:例如,所有变量都称为"x",无论后面是什么数字。换句话说:我想使用一个“占位符”来删除每个变量,包括名称中的"x“。
使用子集,可能如下所示:
dat <- subset(dat, select = -c(x*))
这里,"*“是占位符。
或者只使用"select":
dat <- select(dat, -x*)
结果应该如下所示:
dat <- select(dat, -x*)
> dat
y05_p y06_p y07_p
1 5 4 3
2 6 5 4
3 7 6 5
或者使用另一个示例:
dat <- select(dat, -y*_p)
> dat
x10 x11 x12
1 1 3 1
2 2 2 2
3 3 1 3
我非常感谢您的帮助。
https://stackoverflow.com/questions/57045769
复制相似问题