小编Cri*_*zar的帖子

使用dplyr连接操作替换数据框的子集

假设我对数据框的某些列值进行了处理,如下所示:

  id animal weight   height ...
  1    dog     23.0
  2    cat     NA
  3   duck     1.2
  4  fairy     0.2
  5  snake     BAD


df <- data.frame(id = seq(1:5),
             animal = c("dog", "cat", "duck", "fairy", "snake"),
             weight = c("23", NA, "1.2", "0.2",  "BAD"))
Run Code Online (Sandbox Code Playgroud)

假设处理需要在单独的表中工作,并作为结果给出以下数据框,它是原始的子集:

  id animal weight
  2    cat    2.2
  5  snake    1.3

sub_df <- data.frame(id = c(2, 5),
             animal = c("cat", "snake"),
             weight = c("2.2", "1.3"))
Run Code Online (Sandbox Code Playgroud)

现在我想把所有的东西放在一起,所以我使用这样的操作:

> df %>%
   anti_join(sub_df, by = c("id", "animal")) %>%
   bind_rows(sub_df)

 id animal weight
 4  fairy …
Run Code Online (Sandbox Code Playgroud)

r dplyr

9
推荐指数
4
解决办法
2380
查看次数

根据包含R中数据框的元素列表的名称创建列

我有一个数据框列表,元素列表的名称包含有关每个数据框的信息.

这是一个可重复的例子,

list_df <- list(jan_2013 = data.frame(id = 1:10, x = rnorm(10), y = runif(10)), 
                feb_2013 = data.frame(id = 1:10, x = rnorm(10), y = runif(10)))
Run Code Online (Sandbox Code Playgroud)

如何使用元素名称中包含的信息在每个数据框中创建列?我正在处理purrr列表上的操作,那么如何使用purrr::map迭代每个数据框并访问列表中存储的元素名称?

$jan_2013
  id    x    y   meta_information
   1    0.2  2.3      jan_2013
   2    0.3  2.1      jan_2013

$feb_2013
  id    x    y   meta_information
   1    0.1  2.4      feb_2013
   2    1.4  2.1      feb_2013
Run Code Online (Sandbox Code Playgroud)

r purrr

6
推荐指数
1
解决办法
953
查看次数

标签 统计

r ×2

dplyr ×1

purrr ×1