R中的(1)的向量不都等于1

时间:2019-05-21 18:16:00

标签: r vector numeric equality

向量a看起来像是全数字,是数字,但是不知何故有些元素不等于1。我用标准化列的数据帧的colSums创建了它。 / p>

> taxa_abundance = 
+   taxa_counts %>%
+   ### remember to avoid non-numeric columns
+   mutate_if(is.numeric, funs(./sum(.))) %>%
+   ### remember to avoid non-numeric columns
+   mutate(rowmean = apply(select_if(.,is.numeric), 1, mean))
>   # mutate(rowmean = apply(select(., sample_names), 1, mean))
> 
> ### Can do a sanity check:
> a = taxa_abundance %>% 
+   select_if(is.numeric) %>% 
+   select(-rowmean) %>%
+   colSums() %>%
+   as.numeric() %>% c()
> 
> print(a)
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [77] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[115] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 
> print(class(a))
[1] "numeric"
> 
> print(typeof(a))
[1] "double"
> 
> print(any(a != 1))
[1] TRUE

> a != 1
  [1] FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
 [14]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
 [27] FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [40]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
 [53]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [66]  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
 [79]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE
 [92]  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
[105]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[118]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
[131]  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE

是否有一种明智而干净的方法来执行我要执行的操作?

0 个答案:

没有答案