我试图找到在 R 中创建条形图并显示标准错误的最佳方法。我看过其他文章,但我无法弄清楚要与我自己的数据一起使用的代码(之前没有使用过 ggplot,这似乎是最常用的方式,而 barplot 不与数据框合作)。我需要在我创建了两个示例数据帧的两种情况下使用它:
绘制 df1 以便 x 轴具有站点 ac,y 轴显示 V1 的平均值并突出显示标准误差,类似于此示例,带有灰色。在这里,植物生物量应该是平均 V1 值,处理应该是我的每个站点。
以相同的方式绘制 df2,但使 before 和 after 以与this类似的方式彼此相邻,因此在我的示例中,预测试和后测试等同于之前和之后。
x <- factor(LETTERS[1:3])
site <- rep(x, each = 8)
values <- as.data.frame(matrix(sample(0:10, 3*8, replace=TRUE), ncol=1))
df1 <- cbind(site,values)
z <- factor(c("Before","After"))
when <- rep(z, each = 4)
df2 <- data.frame(when,df1)
Run Code Online (Sandbox Code Playgroud)
对于经验丰富的 R 用户,尤其是那些使用 ggplot 但我无法将我在其他地方找到的代码片段应用到我的数据的用户的简单性,我们深表歉意。我什至无法获得足够的代码来生成图表的开始,所以我希望我的描述足够了。先感谢您。
在大型数据集上生成相关矩阵时,有多个变量始终具有相同的值,因此无法进行相关并输出 NA。我的问题是如何删除具有这些 NA 值的所有行和列,或者在输出相关矩阵之前考虑这个缺陷。所以例如在这个例子中......
df <- as.data.frame(matrix(sample(0:10, 3*8, replace=TRUE), ncol=3))
df$V4 <- rep(3, times = 8)
df$V5 <- rep(2, times = 8)
correlation <- cor(df)
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法来克服这个问题,首先是在相关计算中添加一个用途......
correlation_two <- cor(df, use = "pairwise.complete.obs")
Run Code Online (Sandbox Code Playgroud)
但这没有影响。我也尝试了各种去除 NA 值的方法,但这些方法似乎都不起作用。
output1 <- na.omit(correlation)
output2 <- correlation[complete.cases(correlation),]
output3 <-correlation[,colSums(is.na(correlation))==0]
output4 <- correlation[, !colSums(is.na(correlation)) >1,drop=FALSE] #Removing columns
output4 <- output4[!rowSums(is.na(output4)) >1,drop=FALSE,]#Then rows
Run Code Online (Sandbox Code Playgroud)
先感谢您。
我想知道是否有人可以帮助我解决以下问题。当我在各种解释变量之间进行VIF分析时,会出现以下错误信息。
test <-vif(lm(Spring_Autumn ~ Oct + Nov + Dec + Jan + Feb +
Mar + Apr + May + Jun + Jul + Aug + Sep + X1min + X3min + X7min + X30min + X90min + X1max + X3max + X7max + X30max + X90max + BF + Dmin + Dmax+ LP + LPD + HP + HPD + RR + FR + Rev, data = IHA_stats))
Error in vif.default(lm(Spring_Autumn ~ Oct + Nov + Dec + Jan …Run Code Online (Sandbox Code Playgroud) 我想知道如果我有一个名为“站点”的列名和另一个名为“年份”的列名,我将如何只选择至少 4 年的站点?我在其他地方看到过类似的问题(例如,如何根据类别计数过滤数据框),但我不知道如何根据另一列选择此类过滤器。示例数据集:
Site <- as.data.frame(as.factor(rep(c("Site.A","Site.B","Site.C"), each =4)))
Year <- as.data.frame(as.numeric(c(2010,2011,2012,2013,2010,2011,2012,2013,
2010,2010,2010,2010)))
Count <- as.data.frame(matrix(sample(0:10, 3*4, replace=TRUE), ncol=1))
df <- cbind(Site,Year,Count)
colnames(df) <- c("site","year","count")
Run Code Online (Sandbox Code Playgroud)
即站点 C 将从该数据集中删除,因为只有 1 年的数据。
虽然我已经搜索了stackoverflow寻找各种gsub的答案,但我找不到要应用于我的数据的代码.我想创建一个新列,提取第一个和最后一个下划线之间的所有字母.
Test <- as.data.frame(c("A_YES_X","A_Yes_YES_X"))
colnames(Test)[1] <- "test"
Run Code Online (Sandbox Code Playgroud)
所以在上面的例子中,这将是我需要的输出.
Test$Output <- c("YES","Yes_YES")
Run Code Online (Sandbox Code Playgroud)
先感谢您