gpt4 book ai didi

r - 在R中使用混合类型将字符数字转换为嵌套列表中的数字

转载 作者:行者123 更新时间:2023-12-05 01:26:32 25 4
gpt4 key购买 nike

我有一堆包含所有字符类型元素的嵌套列表。其中一些字符实际上是需要转换为数字类型元素的数字。

我如何修改这些列表,以便所有可能的字符类型的数字都转换为数字,但非数字字符元素保持不变(例如,不被 转换为 NA >as.numeric())?

例如,我开始于

raw_list <- list(
'a' = list('1', '2'),
'b' = list(
'c' = list('3', 'x'),
'd' = c('4', 'z'),
'e' = '5'))

但我需要去

cleaned_list <- list(
'a' = list(1, 2),
'b' = list(
'c' = list(3, 'x'),
'd' = c('4', 'z'),
'e' = 5))

奖励:对基于 tidyverse/purrr 的解决方案的额外感谢

最佳答案

另一种选择是使用 type.convert,它可以将列表作为参数。

raw_list %>%
type.convert(as.is = TRUE)

这与将 purrrtype.convert 一起使用是一样的。

library(purrr)

purrr::map(raw_list, type.convert, as.is = TRUE)

输出

$a
$a[[1]]
[1] 1

$a[[2]]
[1] 2


$b
$b$c
$b$c[[1]]
[1] 3

$b$c[[2]]
[1] "x"


$b$d
[1] "4" "z"

$b$e
[1] 5

关于r - 在R中使用混合类型将字符数字转换为嵌套列表中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70231548/

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