我,使用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