[英]adding rows to data table using for loop in R
我正在使用一些基本的R函數,並嘗試創建一個包含數字1:20的余數和商數的表。首先,我創建了此函數:
Find_Remains = function(number, divisor){
Remainder = number%%divisor
Quotient = number%/%divisor
a = c(number, divisor, Remainder, Quotient)
return(a)
}
我添加一個空白表
final.data.frame = data.frame(matrix(NA, nrow = 1, ncol = 4))
然后我創建了這個for循環
for(i in c(1:20)){
b[i] = Find_Remains(i,5)
final.data.frame = rbind(b[i])
}
我得到的錯誤是:
number of items to replace is not a multiple of replacement length
任何幫助,將不勝感激。 謝謝
初始化final.data.frame
榮譽(盡管我認為最好以20行初始化)。 完成您不需要使用rbind
,您只需在每次循環運行中替換數據幀的每一行即可。 這就是您需要的-
Find_Remains = function(number, divisor) {
Remainder = number%%divisor
Quotient = number%/%divisor
a = c(number, divisor, Remainder, Quotient)
return(a)
}
final.data.frame = data.frame(matrix(NA, nrow = 20, ncol = 4))
for(i in 1:20) {
final.data.frame[i, ] = Find_Remains(i,5)
}
> final.data.frame
X1 X2 X3 X4
1 1 5 1 0
2 2 5 2 0
3 3 5 3 0
4 4 5 4 0
5 5 5 0 1
6 6 5 1 1
7 7 5 2 1
8 8 5 3 1
9 9 5 4 1
10 10 5 0 2
11 11 5 1 2
12 12 5 2 2
13 13 5 3 2
14 14 5 4 2
15 15 5 0 3
16 16 5 1 3
17 17 5 2 3
18 18 5 3 3
19 19 5 4 3
20 20 5 0 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.