0
assign
을 사용하여 문자 이름 벡터에 값을 할당 할 수 있습니다. 우리가 (벡터/매트릭스 /리스트가 될 수 target
)를 target
의 첫 번째 요소를 변경하려는 경우에는 색인 이름이 variable이라는 문자에 값을 할당하십시오.
assign("target",1:5)
예를
를 들어, 우리는 어떻게해야합니까? 여기서도target
은 행렬 일 수 있으므로 한 요소, 한 행 또는 한 열을 변경할 수 있습니다. 내가
assign("target[1]",99)
는 단지 새로운 객체가 target[1]
이름과 값이 여기에 99입니다 간단하고 시험 예
# This function is meaningless, just used to show my situation
# variable_name is a character
example_function <- function(variable_name){
assign(variable_name,1:5)
if(rnorm(1)>1){
variable_name[1] <- 99 #This will not work and I just need some function to achive this purpose
}
}
example_function("justAname")
입니다 생성 사용하는 경우 나는
target[1] <- 99
같은 것을하고 싶어
'target [1] <- 99'는 문제없이 작동합니다 ... 무엇이 문제입니까? –
변수 이름은 함수 내부에서 생성되므로, 해당 변수의 요소 중 하나를 변경하려고 할 때 정확한 변수 이름을 모를 경우 –
'assign() '이하는 함수는 첫 번째 인수가 그것의 이름. 이것은'assign ("target", 1 : 5)'다음에, 1에서 5까지의 값을 가진'target'이라는 새로운 변수가 존재한다는 것을 의미합니다.'print (target)'하면 새로운 변수를 볼 수 있습니다. 그러므로,'target [1] - 99'을 실행하면'target'을 일반적인 변수로 처리 할 수 있습니다. 그것을 시도해보십시오, –