R에서 루프를 벗어나려고하지만 sapply 함수의 진행 과정에 대한 정보를 반환하는 방법을 찾는 데 문제가 있습니다. 내가 루프를 사용하여 벡터를 처리하고 내가 처리하고 무엇을 행 인쇄하려는 경우 예를 들어, 나는 쓰기 :sapply를 사용하여 행 번호를 반환하는 중
vec = c(1:10)
out = NULL
for (i in 1:length(vec)){
print(paste("Processing item ",i,sep=""))
y = vec[i]^2
out = c(out,y)
}
가 어떻게 sapply과 같은 일을 할 수 있습니까? 여기 내가 가진 코드가있다.
func = function(x) {
#print (paste("Processing item ",x,sep="")) ## This is where I want to print out the row number being processed.
x^2
}
out = sapply(vec,func)
감사합니다.
아마'사용을 sprintf' 이런' ? – Jaap
'sprintf'는 내가하고 싶은 것을 할 수 있습니다. 결과를 벡터로 출력하고 화면으로 출력하는 코드를 수정했습니다. 'sprintf ('처리중인 항목 % s, 값 : % s', 1 : 길이 (vec), out = sapply (vec, func))'. 이것이 klugey인지 아닌지는 잘 모르겠지만, 저에게는 효과적입니다. 감사. 답변에 댓글을 추가하면 그것을 선택합니다. – user44796
완료. 'funx' 만'x^2'을하면,'sprintf' 내부의 sapply 호출은 필요 없습니다. – Jaap