Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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中的总行数除以整行数_R - Fatal编程技术网

将R中的总行数除以整行数

将R中的总行数除以整行数,r,R,我有一个如下的数据集。我想用代码创建score变量 分数的计算;整行总数/整列数 例如,第1行的分数计算:(1+2+1)/3=1.33 例如,第2行的分数计算:(1+1)/2=1 df x1x2x3skor 1 1 2 1 1.33 2 1 NA 1.00 3 2 NA 2.00 4 3 2 2 2.33 5 NA 21.50 > 使用apply(): cols使用apply(): cols您实际上可以采用行均值忽略NA值 df$Skor <- rowMeans(df, na

我有一个如下的数据集。我想用代码创建score变量

分数的计算;整行总数/整列数

例如,第1行的分数计算:(1+2+1)/3=1.33

例如,第2行的分数计算:(1+1)/2=1

df
x1x2x3skor
1  1  2  1 1.33
2 1 NA 1.00
3 2 NA 2.00
4  3  2  2 2.33
5 NA 21.50
> 
使用
apply()

cols使用
apply()


cols您实际上可以采用行均值忽略
NA

df$Skor <- rowMeans(df, na.rm = TRUE)
df

#  X1 X2 X3     Skor
#1  1  2  1 1.333333
#2  1  1 NA 1.000000
#3  2 NA  2 2.000000
#4  3  2  2 2.333333
#5 NA  2  1 1.500000

实际上,您可以采用行平均值忽略
NA

df$Skor <- rowMeans(df, na.rm = TRUE)
df

#  X1 X2 X3     Skor
#1  1  2  1 1.333333
#2  1  1 NA 1.000000
#3  2 NA  2 2.000000
#4  3  2  2 2.333333
#5 NA  2  1 1.500000

您可以使用
addmargins

addmargins(as.matrix(df[,-4]), 2, list(Skor=function(x) mean(x, na.rm=TRUE)))
#     X1 X2 X3     Skor
#[1,]  1  2  1 1.333333
#[2,]  1  1 NA 1.000000
#[3,]  2 NA  2 2.000000
#[4,]  3  2  2 2.333333
#[5,] NA  2  1 1.500000

您可以使用
addmargins

addmargins(as.matrix(df[,-4]), 2, list(Skor=function(x) mean(x, na.rm=TRUE)))
#     X1 X2 X3     Skor
#[1,]  1  2  1 1.333333
#[2,]  1  1 NA 1.000000
#[3,]  2 NA  2 2.000000
#[4,]  3  2  2 2.333333
#[5,] NA  2  1 1.500000

rowMeans
方法已经非常简洁,这里是另一个选项

df$Skor <- rowSums(df,na.rm = TRUE)/rowSums(!is.na(df))

df$Skor所采用的
rowMeans
方法已经非常简洁,下面是另一个选项

df$Skor <- rowSums(df,na.rm = TRUE)/rowSums(!is.na(df))
df$Skor