为什么我必须写means[i] 而不仅仅是mean。我不是编程背景

拉惹阿罗拉

为什么我必须使用手段 [i] 而不仅仅是存储结果,当我这样做时,它会向我显示一些其他值。

mymeans <- function(x){

    means <- numeric(ncol(x))

    for (i in 1:ncol(x)){

        means[i] <- mean(x[,i])
    }
    return(means[i])
}
约瑟夫·克里斯佩尔

在您的函数中,您使用方括号引用i向量中的索引 ( ) means没有这个,你只会返回最后一列的平均值。

首先,这是您处理一些示例数据的函数:

# Create an example set of data
randomValues <- data.frame("A"=rnorm(100, mean=0), "B"=rnorm(100, mean=5), "C"=rnorm(100, mean=500))

# Create a function to calculate the mean value of each column
meanOfEachColumn <- function(dataframe){

    # Initialise a vector to store the calculated means
    means <- numeric(length=ncol(dataframe))

    # Examine each column in the dataframe
    for(column in 1:ncol(dataframe)){

        means[column] <- mean(dataframe[, column])
    }

    return(means)
}

# Calculate the mean of each column
meansOfColumns <- meanOfEachColumn(randomValues)
print(meansOfColumns)

0.04983223 4.93306557 500.21016834

means[column]上述代码的装置,平均每列的存储在返回的矢量该位置。

没有它,您将获得以下信息:

# Create a function to calculate the mean value of each column
meanOfEachColumn <- function(dataframe){

    # Initialise a vector to store the calculated means
    means <- numeric(length=ncol(dataframe))

    # Examine each column in the dataframe
    for(column in 1:ncol(dataframe)){

        means <- mean(dataframe[, column])
    }

    return(means)
}

# Calculate the mean of each column
meansOfColumns <- meanOfEachColumn(randomValues)
print(meansOfColumns)

500.2101

您会注意到示例数据帧中最后一列的平均值randomValues这意味着均值 ( means)的向量已替换为数据帧中最后一列的均值。

此外,作为一般说明,您应该尝试在问题旁边放一个可重现的示例。有关更多详细信息,请参阅此帖子

最后,R 中有一个函数可以计算数据帧中每一列的平均值:

meansOfColumns <- colMeans(randomValues)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我要使用枚举,而不仅仅是一个类?

为什么我应该监视流程,而不仅仅是链接和陷阱出口?

反应本机| 为什么我的函数立即运行,而不仅仅是onPress?

为什么我整个div都是可点击的,而不仅仅是链接?

要用 Hooks 创建函数组件,为什么我必须使用 JSX,而不仅仅是函数调用?

写的不仅仅是“你好”

我得到的是我所有的输出,而不仅仅是一个

覆盖范围和鼻子显示了来自Django的文件,而不仅仅是我的测试

我可以从终端获得OSX的动物名称,而不仅仅是版本吗?

我需要jqgrid刷新整个页面,而不仅仅是网格

如何在整个班级中访问约束,而不仅仅是在我设置的地方?

我的叠加层影响了整张卡片,而不仅仅是图像

分组以返回全部数据,而不仅仅是我分组的数据

试图让我的点击按钮始终显示结果,而不仅仅是在点击时

我可以在 insertRow() 函数中放置 <input> 标签吗?不仅仅是文字

重构我的 JavaScript 代码以删除更多而不仅仅是空格

在Ember中,为什么我的模板需要{{model.key}},而不仅仅是{{key}}?

为什么React Router导致我的组件重新安装,而不仅仅是重新渲染?

为什么我最后得到一个带有.vhost的进程的名称,而不仅仅是名称?

在实现我的 api 时,我希望它能够以 xml 格式查看。不仅仅是 JSON

为什么Finatra为什么使用flatMap而不仅仅是地图?

检查所有成员的自定义状态,而不仅仅是我的自定义状态

我们能否让聊天机器人首先说问候,而不仅仅是作为回应

pf阻止所有输入/输出流量,而不仅仅是我要阻止的一个端口

我可以使用Mockito来部分覆盖现有对象(而不仅仅是测试)吗?

我如何让浏览器在新标签页中打开pdf文件,而不仅仅是下载它?

我可以直接从GitHub运行HTML文件,而不仅仅是查看其源代码吗?

当我移动鼠标时,所有子弹都在移动,而不仅仅是被射击

我如何使用 GitHub Pages 创建不仅仅是一个 hello world?