저는 R에서 두 개의 목록으로 작업 중이며 한 목록의 요소를 다른 목록의 요소로 바꾸려고합니다. 그러나 각 목록의 대체 항목은 세 번째 목록에 의해 인덱싱됩니다. 중히 여기다
> template
$X1
[1] 0 0 0 0 0 0 0
$X2
[1] 0 0 0 0 0 0 0
$X3
[1] 0 0 0 0 0 0 0
$X4
[1] 0 0 0 0 0 0 0
...
$X35
[1] 0 0 0 0 0 0 0
과
> replace_table
$X1
[1] 5 6 7
$X2
[1] 4 6 7
$X3
[1] 4 5 7
$X4
[1] 4 5 6
...
$X35
[1] 1 2 3
내가 목록이 있다고도 말하십시오.
> set
[1] 3 5 1
따라서 여기서 아이디어는 템플릿을 반복하고 각 템플릿 목록의 요소를 replace_list로 교체하는 것입니다. 따라서 템플릿은 다음과 같이 보입니다.
> template
$X1
[1] 0 0 0 0 3 5 1
$X2
[1] 0 0 0 3 0 5 1
$X3
[1] 0 0 0 3 5 0 1
$X4
[1] 0 0 0 3 5 1 0
...
$X35
[1] 3 5 1 0 0 0 0
이 작업을 수행하는 방법에 대한 의견이 있습니까? 나는 사용해 보았다
lapply(c(1:length(template)), function(x) template[[x]][c(replace_list[[x]])]=c(set))
그러나 이것은 작동하지 않습니다.
을 (를) 추천했을 수도 Map
있지만 다음 사항이 염두에 두었던 것과 더 비슷할 것입니다.
lapply(seq_along(template), function(x) {
replace(template[[x]], replace_table[[x]], replace_list)
})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다