给定列的名称,数据框中列的平均值

时间:2014-04-18 23:22:34

标签: r mean

我在一个我必须写的大功能里面。在最后一部分中,我必须计算数据框中列的平均值。我正在操作的列的名称是作为函数的参数给出的。

6 个答案:

答案 0 :(得分:26)

我认为你问的是如何根据列的名称计算数据框中变量的平均值。有两种典型方法可以做到这一点,一种是使用[[建立索引,另一种是使用[编制索引:

data(iris)
mean(iris[["Petal.Length"]])
# [1] 3.758
mean(iris[,"Petal.Length"])
# [1] 3.758
mean(iris[["Sepal.Width"]])
# [1] 3.057333
mean(iris[,"Sepal.Width"])
# [1] 3.057333

答案 1 :(得分:9)

以下任何一项都应该有效!!

df <- data.frame(x=1:3,y=4:6)

mean(df$x)
mean(df[,1])
mean(df[["x"]])

答案 2 :(得分:7)

如果您的列包含您要忽略的任何值。它会帮助你

Night_Shift_Duration

答案 3 :(得分:2)

我认为你被要求做什么(或者问自己?)是一个字符值,它与特定数据帧中列的名称相匹配(可能也作为一个字符给出)。这里有两个技巧。大多数人都学习使用&#34; $&#34;来提取列。如果函数传递了一个字符,那么运算符就不会在函数内部工作。如果该函数也应该接受字符参数,那么您还需要使用get函数:

 df1 <- data.frame(a=1:10, b=11:20)
 mean_col <- function( dfrm, col ) mean( get(dfrm)[[ col ]] )
 mean_col("df1", "b")
 # [1] 15.5

普通对象(如字符向量)和语言对象(如对象名称)之间存在一定的语义边界。 get功能是让您&#34;促进&#34;的功能之一。字符值到语言水平评估。 &#34; $&#34;函数不会在函数中计算它的参数,所以你需要使用&#34; [[&#34;。 &#34; $&#34;仅在控制台级别有用,需要在功能中完全避免。

答案 4 :(得分:1)

假设您有一个数据框(比如df),其中包含列&#34; x&#34;和&#34; y&#34;,你可以使用:

找到列(x或y)的平均值

1 。使用 mean()功能

z<-mean(df$x)

2 。使用attach()函数将列名称(比如说x)作为变量

 attach(df)
 mean(x)

完成后,您可以致电detach()以删除&#34; x&#34;

detach()

3 。使用with()函数,它允许您使用数据框列作为不同的变量。

 z<-with(df,mean(x))

答案 5 :(得分:1)

<script type="text/javascript"> $.ajax({ url: "myphpscript.php", dataType: "json", success: function(result) { $.each(result,function(k,v){ $(".letterHolder").append($('<div></div>').html(v).addClass('drag_letter').draggable({ cursor: 'move', revert: true, helper: 'clone' })); }); } }); </script> 包中使用summarise

dplyr

注意:library(dplyr) summarise(df, Average = mean(col_name, na.rm = T)) 同时支持dplyrsummarise