iはR言語を使用してコードを持っているが、私はすべてのデータ・フレームを合計するRプログラミング和データフレーム
合計結果は= [1] 1 3 5 7(DFの$番号は 'のRES' で非公開に結果です) 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)
正しい答えがspesificコードを合計する何118 '
ある原因、それが正しい答えではない私はsum(total)
を使用していますが、要約の結果は「155」です合計'?
ありがとうございました。
特にあなたの説明については、unique()とwhich()を使っていただきありがとうございます。 – alexaxeel
また、変数を更新する場合は、setdiff: 'total <--setdiff (1:50、合計) '。変数に代入することなく関数を実行するのは、結果をコンソールに出力するだけでよい場合に便利です。 – TheBiro