簡體   English   中英

將R中的多行分組

[英]Grouping multiple rows in R

我使用以下鏈接在R中為微生物組數據生成了一個熱圖

就行而言,我的數據如下所示:

781
782
783
547
519
575
044
045
049

如果我想將781-783、547-575和044-049分組為單獨的組,並使用以下思路為它們提供單獨的顏色:

將動物分配到不同的組(在這種情況下為2個隨機組)

var1 <- round(runif(n=12, min=1, max=2))
var1 <- replace (var1, which(var1 == 1), "deepskyblue")
var1 <- replace (var1, which(var1 == 2), "magenta")
cbind(row.names(data.prop), var1)

我該怎么辦? 我知道上面的代碼隨機生成2個組,但是如何指定哪些行進入哪個組?

謝謝,

Susheel

因為行名是必需字符,並且R中唯一好的范圍運算符是數字值的“:”:您需要將范圍強制轉換為所需的"0nn"格式。 在沒有適當的測試用例的情況下,這是未經測試的(要求提問者提供):

#look at...
sprintf("%03i", c(781:783, 547:575, 044:049))
# then....

 data.prop[ sprintf("%03i", c( 781:783, 547:575, 044:049), 'var1'] <-
      mapply(function(clr, rng) {rep(clr, length(rng) )}, 
                    c("deepskyblue",  "magenta", "green"), 
                    list(  781:783, 547:575, 44:49)
              )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM