Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 添加NA';s是一个向量_R - Fatal编程技术网

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)