我,使用R語言有一個代碼,我要總結的所有數據幀(DF $數是不公開的結果在「RES」)ř編程薩姆數據幀
總結果爲= [1] 1 3 5 7 9 20 31 42
digits <- function(x){as.integer(substring(x, seq(nchar(x)), seq(nchar(x))))}
generated <- function(x){ x + sum(digits(x))}
digitadition <- function(x,N) { c(x, replicate(N-1, x <<- generated(x))) }
res <- NULL
for(i in 0:50){
for(j in 2:50){
tmp <- digitadition(i,j)
IND <- 50*(i-1) + (j-1) - (i-1) #to index results
res[IND] <- tmp[length(tmp)]
}
}
df <- data.frame(number = unlist(res), generator=rep(1:50, each=49), N=2:50)
total <- table(df$number)[as.numeric(names(table(df$number)))<=50]
setdiff(1:50, as.numeric(names(total)))
sum(total)
我使用sum(total)
但總結的結果是「155」是不正確的答案,使正確的答案是「118」
什麼spesific代碼總結總數'?
謝謝。
謝謝TheBiro的答案,尤其是關於你的解釋使用unique()和哪個() – alexaxeel
還記得當你想更新一個變量時,你必須使用'<-'像使用setdiff:'total < - setdiff (1:50,總數)'。當你只需要在控制檯上打印結果時,執行一個函數而不將它分配給一個變量是有用的。 – TheBiro