0

例子

价值

15   
15   
15   
4   
37   
37   
37  

有三个不同的值,但有 7 行,下面是我想要的。因为我想匿名我的数据。我不断收到错误“替换有 3 行,数据有 7”

这是我正在使用的代码

final_df$Value <- paste("Value",seq(1:length(unique(final_df$Value))))

价值

Value 1
Value 1   
Value 1   
Value 2   
Value 3   
Value 3   
Value 3  
4

1 回答 1

0

创建完成这项工作的函数:

anon <- function(x) {
    rl <- rle(x)$lengths
    ans<- paste("Value", rep(seq_along(rl), rl))
    return(ans)
}

调用函数:

anon(final_df$Value)

结果:

# [1] "Value 1" "Value 1" "Value 1" "Value 2" "Value 3" "Value 3" "Value 3"

概括:

df1 <- mtcars
df1[] <- lapply(df1, anon)
names(df1)    <- paste0("V", seq_along(names(df1)))
rownames(df1) <- NULL

df1
于 2018-11-20T17:12:55.450 回答