我在一个我必须写的大功能里面。在最后一部分中,我必须计算数据框中列的平均值。我正在操作的列的名称是作为函数的参数给出的。
答案 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))
同时支持dplyr
和summarise
。