首页 > 解决方案 > 使用 R 的期望

问题描述

我刚开始使用 R,我有 5 个文件(每个文件只有一列)数据,总共 227 个观察值。我必须找到 E(X) 和 E(X^2)。我通过将所有值相加并将其除以 227 找到 E(X)。我还需要找到 E(X^2),但我不知道如何遍历 5 个文件并获取每个单独的值并将其平方.

我有加载文件的代码,这是我找到平均值的代码:

    mydataset1 = read_csv("file1.txt", col_names = FALSE)
    mydataset2 = read_csv("file2.txt", col_names = FALSE)
    mydataset3 = read_csv("file3.txt", col_names = FALSE)
    mydataset4 = read_csv("file4.txt", col_names = FALSE)
    mydataset5 = read_csv("file5.txt", col_names = FALSE)

    sum1 <- sum(mydataset1) 
    sum2 <- sum(mydataset2) 
    sum3 <- sum(mydataset3)
    sum4 <- sum(mydataset4)
    sum5 <- sum(mydataset5)

    sumAll <- sum1 + sum2 + sum3 + sum4 + sum5

    mean <- sumAll / 227

标签: r

解决方案


我们可以根据对象名称获取alist中的所有数据集,将元素中的 a 获取到 a中,然后得到该向量除以 227mgetpatternsumlistvectorsum

sum(sapply(mget(ls(pattern = '^mydataset\\d+$')), sum))/227

推荐阅读