R 添加NA';s是一个向量
假设我有一个价格向量:R 添加NA';s是一个向量,r,R,假设我有一个价格向量: foo <- c(102.25,102.87,102.25,100.87,103.44,103.87,103.00) foo您可以使用自己对diff的修改: mydiff <- function(data, diff){ c(diff(data, lag = diff), rep(NA, diff)) } mydiff(foo, 1) [1] 0.62 -0.62 -1.38 2.57 0.43 -0.87 NA data.frame(f
foo <- c(102.25,102.87,102.25,100.87,103.44,103.87,103.00)
foo您可以使用自己对diff的修改:
mydiff <- function(data, diff){
c(diff(data, lag = diff), rep(NA, diff))
}
mydiff(foo, 1)
[1] 0.62 -0.62 -1.38 2.57 0.43 -0.87 NA
data.frame(foo = foo, diff = mydiff(foo, 3))
foo diff
1 102.25 -1.38
2 102.87 0.57
3 102.25 1.62
4 100.87 2.13
5 103.44 NA
6 103.87 NA
7 103.00 NA
mydiff假设您有一个数字为1到10的数组,以矩阵形式排列,其中
矩阵包含5行2列和第2列中的元素,这些元素将被分配为NA#
然后制作一个元素为1:10的5*2矩阵
你可以存储在一个列表中,而不是下面的答案很好,但更一般地说,如果你有一个长度不等的向量列表,你可以做一些类似l的事情
mydiff <- function(data, diff){
c(diff(data, lag = diff), rep(NA, diff))
}
mydiff(foo, 1)
[1] 0.62 -0.62 -1.38 2.57 0.43 -0.87 NA
data.frame(foo = foo, diff = mydiff(foo, 3))
foo diff
1 102.25 -1.38
2 102.87 0.57
3 102.25 1.62
4 100.87 2.13
5 103.44 NA
6 103.87 NA
7 103.00 NA
Array_test=array(c(1:10),dim=c(5,2,1))
Array_test
Array_test[ ,2, ]=c(NA)# Defining 2nd column to get NA
Array_test
# Similarly to make only one element of the entire matrix be NA
# let's say 4nd-row 2nd column to be made NA then
Array_test[4 ,2, ]=c(NA)