gpt4 book ai didi

r - 将 row_number() 分配为 R 中数据帧列表上的列值

转载 作者:行者123 更新时间:2023-12-02 19:56:07 24 4
gpt4 key购买 nike

我正在处理数据框列表。对于列表中的每个数据帧,我想创建一个名为“rank”的新列,其中值等于行号。

# Create test dataframe list

a <- c("A","B","C","D","E","F")
b <- c(12,8,9,5,6,18)
c <- c("K","J","L","M","N","O")

df1 <- as.data.frame(cbind(a,b))
df2 <- as.data.frame(cbind(c,b))

df_list <- list(df1,df2)

# List manipulations

df_list_t <- lapply(df_list, cbind, rank = c("")) # create "rank" column

# Trying to assign rank value...

df_list <- df_list %>% mutate(rank = row_number())

## Error in UseMethod("mutate_") :
## no applicable method for 'mutate_' applied to an object of class "list"

有没有办法解决这个问题或我可以使用其他方法来获得相同的结果?我的最终目标是列表中的每个数据帧都有一个编号为 1 - nrows 的“排名”列。假设列表中的某些数据帧具有不同的行数。

  c  b rank
1 L 9 1
2 J 8 2
3 N 6 3
4 M 5 4
5 O 18 5
6 K 12 6

最佳答案

通过 tidyverse,我们可以使用 map 循环遍历 list 并使用 row_number() 创建“rank”列

library(purrr)
library(dplyr)
map(df_list, ~ .x %>%
mutate(rank = row_number())

关于r - 将 row_number() 分配为 R 中数据帧列表上的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59157331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com