약간의 조작 후 다음 요소가 포함 된 목록이 있습니다.
$default
a b c d e
1e-05 1e-02 1e-02 0e+00 0e+00
$`1`
a d e
0.00001 35.62987 4252.45832 0.00000 0.00000
$`2`
a d e
0.00001 35.62987 4252.45832 0.00000 0.00000
목록은 다음을 사용하여 재현 할 수 있습니다.
list1 <- list("default" = c("a" = 0.00001, "b" = 0.01, "c" = .01, "d"=0, "e"=0),
"1" = c("a" = 0.00001, 35.62987, 4252.45832, "d"=0, "e"=0),
"2" = c("a" = 0.00001, 35.62987, 4252.45832, "d"=0, "e"=0))
"표준"요소의 요소와 동일한 이름을 갖도록 "1"및 "2"요소의 이름을 빠르게 바꾸고 싶습니다. 즉, "a", "b", "c", "d", "e . "
그러나 lapply를 사용하여 이름을 다시 할당하면 목록의 요소가 손실됩니다. 내가 할 때 :
lapply(list1, function(x) names(x) <- c("a", "b", "c", "d", "e"))
나는 얻다:
$default
[1] "a" "b" "c" "d" "e"
$`1`
[1] ""a" "b" "c" "d" "e"
$`2`
[1] "a" "b" "c" "d" "e"
모든 실제 값이 손실됩니다. 목록 요소에서 이름을 바꾸는 더 좋은 방법이 있습니까?
list1 <- list("default" = c("a" = 0.00001, "b" = 0.01, "c" = .01, "d"=0, "e"=0),
"1" = c("a" = 0.00001, 35.62987, 4252.45832, "d"=0, "e"=0),
"2" = c("a" = 0.00001, 35.62987, 4252.45832, "d"=0, "e"=0))
원본 목록 :
$default
a b c d e
1e-05 1e-02 1e-02 0e+00 0e+00
$`1`
a d e
0.00001 35.62987 4252.45832 0.00000 0.00000
$`2`
a d e
0.00001 35.62987 4252.45832 0.00000 0.00000
암호:
lapply(list1, function(x) setNames(x, c("a", "b", "c", "d", "e")))
업데이트 된 목록 :
#> $default
#> a b c d e
#> 1e-05 1e-02 1e-02 0e+00 0e+00
#>
#> $`1`
#> a b c d e
#> 0.00001 35.62987 4252.45832 0.00000 0.00000
#>
#> $`2`
#> a b c d e
#> 0.00001 35.62987 4252.45832 0.00000 0.00000
reprex 패키지 (v0.3.0)에 의해 2021-01-27에 생성됨
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다