是否有R函数仅选择某些行值组合?

发布于 2025-01-28 04:40:16 字数 425 浏览 1 评论 0原文

我有一个看起来像这样的数据框架:

my_data <- data.frame( 
   letter = c("x","x","x","x","x","y","y","y","y","z","z","z","z"),
   number = c(1,5,6,7,2,3,4,5,6,1,4,4,4))

我现在希望制作一个新的data_frame,其中只有一定的列组合存在(“ x”可以是1,2“ y”可以是3,而“ z”可以是4),所以它会提供这样的东西:

my_data2 <- data.frame( 
   letter = c("x","x","y","z","z"),
   number = c(1,2,3,4,4))

我可以通过if-else来做到这一点,但是有一种更优雅的方式吗?

I have a data frame that looks something like this:

my_data <- data.frame( 
   letter = c("x","x","x","x","x","y","y","y","y","z","z","z","z"),
   number = c(1,5,6,7,2,3,4,5,6,1,4,4,4))

I now wish to make a new data_frame where only a certain picked combination of the columns exists ("x" can be 1,2 "y" can be 3 and "z" can be 4), so it will give something like this:

my_data2 <- data.frame( 
   letter = c("x","x","y","z","z"),
   number = c(1,2,3,4,4))

I can do this by if-else, but is there a more elegant way to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

中性美 2025-02-04 04:40:17
my_data <- data.frame( 
  letter = c("x","x","x","x","x","y","y","y","y","z","z","z","z"),
  number = c(1,5,6,7,2,3,4,5,6,1,4,4,4))

library(tidyverse)
my_data %>% filter(letter == "x" & number %in% c(1,2) | 
                   letter == "y" & number == 3 |
                   letter == "z" & number == 4
                   )

  letter number
1      x      1
2      x      2
3      y      3
4      z      4
5      z      4
6      z      4


如何使用或/和/和/和要亚气集。Frame

my_data <- data.frame( 
  letter = c("x","x","x","x","x","y","y","y","y","z","z","z","z"),
  number = c(1,5,6,7,2,3,4,5,6,1,4,4,4))

library(tidyverse)
my_data %>% filter(letter == "x" & number %in% c(1,2) | 
                   letter == "y" & number == 3 |
                   letter == "z" & number == 4
                   )

  letter number
1      x      1
2      x      2
3      y      3
4      z      4
5      z      4
6      z      4


How to use or/and in dplyr to subset a data.frame

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文