我正在尝试过滤一个非常异构的数据集。
我有很多变量,每个变量都有几个重复。我有一个有两个水平的因子(比方说X和Y),我想子集变量,这些变量的平均值大于2 (X/Y >= 2或Y/X >= 2)。
我怎样才能在R中实现这一点?我可以想出一些办法,但它们似乎太麻烦了,我相信还有更好的方法。稍后,我将对这些筛选变量进行多变量测试。
这将是一个示例数据集:
d <- read.table(text = "a b c d factor replicate
1 2 2 3 X 1
3 2 4 4 X 2
2 3 1 2 X 3
1 2 3 2 X
我对R非常陌生,并且刚刚开始编写smalls函数。在这里,我编写了一个函数,它以数据帧为参数,并返回每列的平均值。
代码:
n = c(12,13,14,16,16)
m = c(11,2,23,45,67)
a = c(34,343,5,2,1)
b = c(88,33,2,1,44)
db = data.frame (n,m,a,b )
db
n m a b
1 12 11 34 88
2 13 2 343 33
3 14 23 5 2
4 16 45 2 1
5 16 67 1 44
mean.dataframe = function (df)
{
我试图从R中内置的longley数据集的每一列中减去平均值(使用扫描函数),但“年份”列除外。我试过了
sweep(apply(longley,2,mean),2,-c["Year"])
但却给了我错误
Error in c["Year"] : object of type 'builtin' is not subsettable
这似乎是一个简单的问题,但我不知道如何排除这个函数中的“年份”列
谢谢
我读过关于如何计算R中各种列的方法的各种文章,但我遇到的问题是,到目前为止,我在R中使用的函数给我的结果与其他程序不同(SAS和SPSS)。
到目前为止,我已经使用了这些功能:
newdata2$birdsMean <- rowMeans(newdata2[,7:15], na.rm=TRUE)
(The bird data appears in columns 7 to 15.)
以及:
newdata2$mean=rowMeans(newdata2[,c("bird1", "bird2", "bird3", "bird4
我正在处理R中的一个数据集,该数据集分为训练和测试。我对数据进行了预处理,使其居中并除以标准差,因此,我希望存储训练集的平均值和SD值,以便使用相同的值缩放测试集。但是,与使用colmeans和apply(x, 2, sd)函数相比,使用scale函数获得的精度要好得多。 set.seed(5)
a = matrix(rnorm(30000, mean=10, sd=5), 10000, 3) # Generate data
a_scale = scale(a) # scale using the scale function
a_scale_custom = (a - colMean
我想计算R中某列的平均值。该列写入csv文件,即数据文件,如下所示。
X
12
14
10
...
我按如下方式读取数据。
myData <- read.csv("datafile.csv")
当我想要计算平均值作为mean(myData)时,我得到以下消息:
[1] NA Warning message: In mean.default(myData) : argument is not numeric or logical: returning NA
我在R工作室做R。我需要计算数据框中每一列的平均值。
cluster1 // 5 by 4 data frame
mean(cluster1) //
我得到了:
Warning message:
In mean.default(cluster1) :
argument is not numeric or logical: returning NA
但我可以用
mean(cluster1[[1]])
来得到第一列的平均值。
如何获取所有列的均值?
任何帮助都将不胜感激。
我希望得到数据中特定列的平均值,并将这些均值存储在R中的向量中。
列的特定变量名存储在向量中。对于那些特定的变量(取决于用户的输入),我想要计算平均值并将它们存储在向量中,然后循环,然后在代码的另一部分中使用它。
我试了如下,例如:
specific_variables <- c("variable1", "variable2") # can be of a different length depending on user input
data <- data.frame(...) # this is a dataframe with mul