簡體   English   中英

計算每行中不同列的rowMeans

[英]Compute rowMeans across different columns in each row

我有這樣一個DF:

df <- read.table(text = "x1 x2 x3 x4 x5 x6 start end
                    1 2 2 1 2 3 2 6 
                    2 3 2  5  7  9 1 3 
                    1 9 12 6 1 1 3 6 ", header = TRUE)

startend表示rowMeans中應包含的列數。 即第一行:從x2到x6的平均值; 第二行:從x1到x3的平均值,依此類推

我試過這個沒有成功:

df$means <- rowMeans(df[,df$X7:df$X8]) 

apply一種方式:

apply(df, 1, function(x) mean(as.numeric(x[x[7]:x[8]], na.rm = TRUE)))
#[1] 2.000000 2.333333 5.000000

一點描述。 apply將迭代每一行。 變量x代表每一行。 因此,我們告訴R根據第7列和第8列對每一行進行子集化,然后計算平均值。

暫無
暫無

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

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