它是从顶部还是底部填充
Does it fill from the top or bottom
我正在尝试将此 MatLab 代码翻译成 R。
% ensure existing positions are carried forward
unless there is an exit signal positions=
fillMissingData(positions);
这是我掌握的有关 fillMissingData 函数的信息:
function [filledPrices]=fillMissingData(prices)
% [filledPrices]=fillMissingData(prices) fill data in a 2-dim array with NaN's with the
% previous value.
filledPrices=prices;
for t=2:size(filledPrices, 1)
missData=~isfinite(filledPrices(t, :));
filledPrices(t, missData)=filledPrices(t-1, missData);
end
执行该函数的对象是 "positions" 一个包含如下数据的 2 列矩阵:
1 -1
1 -1
NaN NaN
NaN NaN
0 0
NaN NaN
1 -1
我的解决方案就是使用 r 代码:
positions <- na.locf(positions, fromLast=FALSE)
填充以前的值,但我不确定这是否是 MatLab 函数所做的,特别是因为有人告诉我 "carry 0's forward"
请帮忙!
A naive/word-to-word 翻译成 R 将是
fillMissingData <- function(prices){
filledPrices=prices
for (t in 2:nrow(filledPrices)){
missData=is.na(filledPrices[t, ])
filledPrices[t, missData]=filledPrices[t-1, missData]
}
filledPrices
}
它的作用与 na.locf(positions, fromLast=FALSE)
完全相同。
positions <- matrix(c(1, -1, 1, -1, NA, NA,NA, NA,0, 0,NA, NA, 1, -1), ncol=2, byrow=TRUE)
fillMissingData(positions)
# [,1] [,2]
#[1,] 1 -1
#[2,] 1 -1
#[3,] 1 -1
#[4,] 1 -1
#[5,] 0 0
#[6,] 0 0
#[7,] 1 -1
我正在尝试将此 MatLab 代码翻译成 R。
% ensure existing positions are carried forward
unless there is an exit signal positions=
fillMissingData(positions);
这是我掌握的有关 fillMissingData 函数的信息:
function [filledPrices]=fillMissingData(prices)
% [filledPrices]=fillMissingData(prices) fill data in a 2-dim array with NaN's with the
% previous value.
filledPrices=prices;
for t=2:size(filledPrices, 1)
missData=~isfinite(filledPrices(t, :));
filledPrices(t, missData)=filledPrices(t-1, missData);
end
执行该函数的对象是 "positions" 一个包含如下数据的 2 列矩阵:
1 -1
1 -1
NaN NaN
NaN NaN
0 0
NaN NaN
1 -1
我的解决方案就是使用 r 代码:
positions <- na.locf(positions, fromLast=FALSE)
填充以前的值,但我不确定这是否是 MatLab 函数所做的,特别是因为有人告诉我 "carry 0's forward"
请帮忙!
A naive/word-to-word 翻译成 R 将是
fillMissingData <- function(prices){
filledPrices=prices
for (t in 2:nrow(filledPrices)){
missData=is.na(filledPrices[t, ])
filledPrices[t, missData]=filledPrices[t-1, missData]
}
filledPrices
}
它的作用与 na.locf(positions, fromLast=FALSE)
完全相同。
positions <- matrix(c(1, -1, 1, -1, NA, NA,NA, NA,0, 0,NA, NA, 1, -1), ncol=2, byrow=TRUE)
fillMissingData(positions)
# [,1] [,2]
#[1,] 1 -1
#[2,] 1 -1
#[3,] 1 -1
#[4,] 1 -1
#[5,] 0 0
#[6,] 0 0
#[7,] 1 -1