gpt4 book ai didi

r - 使用函数更改数据框列的每一行的值

转载 作者:行者123 更新时间:2023-12-02 06:58:39 24 4
gpt4 key购买 nike

我有一个函数,如果该值的长度只有 1 个字符,则将“0”附加到该值的开头:

myFormat <- function(v) {
if(nchar(v) == 1){
paste0("0",v)
}
else
as.character(v)
}

我有一个数据框 DF有一个名为 A 的列看起来像这样的字符类型:

A
3
12
5
10
1
...

运行后myFormat() , 列 A应该看起来像:

A
03
12
05
01
...

我试过:DF$A <- lapply(DF$A, weekFormat(DF$A))但出现错误。

我也试过:mutate(DF, newCol = myFormat(A))但是那里出现错误,说只会使用第一个元素。

还尝试过:cbind(DF, lapply(DF$A, wmyFormat)但这增加了许多新列。

怎么了?有更好的方法吗?

最佳答案

这可以使用 sprintf 轻松完成。使用@nrussell 的数据

DF$A <- sprintf("%02d", DF$A)
DF$A
#[1] "03" "12" "05" "10" "01"

关于r - 使用函数更改数据框列的每一行的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044695/

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