r - 使用 dplyr 更改 R 数据帧中最后一列最后一行的值

标签 r dataframe dplyr

我想更改 R 数据帧中最后一列的最后一个值。

我知道我可以这样使用基本 R:

df[nrow(), ncol()] <- "my value"

但我想使用整洁的方法

到目前为止我尝试过的:

# the last row and column to mutate by name

df %>% slice(1) %>% mutate(my_last_column="my value") 

但我真的很想在不知道列名的情况下执行此操作。

最佳答案

以下是使用 dplyr 和示例 mtcars data.frame 的一些选项:

要获取最后,请尝试:

library(dplyr)

mtcars %>%
  filter(row_number() == n())

mtcars %>%
  slice_tail(n = 1)

要获取最后,请尝试:

mtcars %>%
  select_at(ncol(.))

mtcars %>%
  select(tail(names(.), 1))

如果您想变异最后一行和最后一列,您可以尝试此操作。

mtcars %>%
  mutate_at(ncol(.), funs(ifelse(row_number() == n(), -1, .)))

这会将最后一行和最后一列中的值更改为 -1。

关于r - 使用 dplyr 更改 R 数据帧中最后一列最后一行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65700722/

相关文章:

r - 取消列出数据框列并将它们粘贴在一起

r - Tidyeval:将列列表作为 quosure 传递给 select()

在 R 中重复表达式几次

r - 如何将静态文件添加到 Shiny 的 R 包以实现新的输入控制

r - lm R 汇总输出精度

Python Pandas 获取行位置名称而不是索引值

r - Dplyr 或 Magrittr - tolower?

r - R中数字数据帧的有序列名数据帧的更快方法

python Pandas : cannot do slice indexing

python - 如何根据与前一行的差异对行进行分组?