Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 根据主题ID填写缺少的值_R - Fatal编程技术网

R 根据主题ID填写缺少的值

R 根据主题ID填写缺少的值,r,R,我有这样一个大型数据集: SUB DAY BASE 1 0 . 1 0 . 1 0 . 1 0 . 1 1 3.5 1 1 3.5 1 2 3.5 1 2 3.5 2 0 . 2 0 . 2 0 . 2 1 2.3 2 1 2.3 2 2 2.3

我有这样一个大型数据集:

SUB  DAY BASE  
 1    0    .    
 1    0    . 
 1    0    .   
 1    0    .    
 1    1    3.5   
 1    1    3.5  
 1    2    3.5   
 1    2    3.5    
 2    0    .
 2    0    .
 2    0    .
 2    1    2.3
 2    1    2.3
 2    2    2.3
 2    2    2.3
...
SUB  DAY BASE  
 1    0    3.5    
 1    0    3.5
 1    0    3.5   
 1    0    3.5    
 1    1    3.5   
 1    1    3.5  
 1    2    3.5   
 1    2    3.5    
 2    0    2.3
 2    0    2.3
 2    0    2.3
 2    1    2.3
 2    1    2.3
 2    2    2.3
 2    2    2.3
...
我想用该SUB的值填充BASE中缺少的值。预期输出应如下所示:

SUB  DAY BASE  
 1    0    .    
 1    0    . 
 1    0    .   
 1    0    .    
 1    1    3.5   
 1    1    3.5  
 1    2    3.5   
 1    2    3.5    
 2    0    .
 2    0    .
 2    0    .
 2    1    2.3
 2    1    2.3
 2    2    2.3
 2    2    2.3
...
SUB  DAY BASE  
 1    0    3.5    
 1    0    3.5
 1    0    3.5   
 1    0    3.5    
 1    1    3.5   
 1    1    3.5  
 1    2    3.5   
 1    2    3.5    
 2    0    2.3
 2    0    2.3
 2    0    2.3
 2    1    2.3
 2    1    2.3
 2    2    2.3
 2    2    2.3
...

有人知道如何实现这一点吗?

如果缺少的值等于
NA
(很棘手,可能是更好的方法):

dat合并(子集(dat,select=-BASE),唯一(dat[!is.na(dat$BASE),c(“SUB”,“BASE”)),by=“SUB”)
分日基数
1    1   0  3.5
2    1   0  3.5
3    1   0  3.5
4    1   0  3.5
5    1   1  3.5
6    1   1  3.5
7    1   2  3.5
8    1   2  3.5
9    2   0  2.3
10   2   0  2.3
11   2   0  2.3
12   2   1  2.3
13   2   1  2.3
14   2   2  2.3
15   2   2  2.3

您能否提供一个可复制的示例?给定的
SUB
值的
BASE
值是否总是唯一的?嗨,卡尔,是的,给定SUB值的BASE值总是唯一的。这也可以通过使用
dat$BASE!='来处理
。'