我需要一些有关 R 的帮助。我有一个表示为 40 行 12 列矩阵的数据集。我需要这些数据的对数尺度的箱线图。
我使用以下命令:
boxplot(log(data[,2:13]))
Run Code Online (Sandbox Code Playgroud)
我得到了所需的图表,但我希望 Y 轴的值是原始值,即指未转换为日志的数据。我怎么做?
提前致谢!
我有一个数据框,其中的列包含可变数量的数字和可变数量的NA.数据框如下所示:
V1 V2 V3 V4 V5 V6
1 0 11 4 0 0 10
2 0 17 3 0 2 2
3 NA 0 4 0 1 9
4 NA 12 NA 1 1 0
<snip>
743 NA NA NA NA 8 NA
744 NA NA NA NA 0 NA
Run Code Online (Sandbox Code Playgroud)
我想制作一个箱形图,但是当我这样做的时候
boxplot(dataframe)
Run Code Online (Sandbox Code Playgroud)
我收到了错误
adding class "factor" to an invalid object
Run Code Online (Sandbox Code Playgroud)
当我做
lapply(dataframe,class)
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
$V1
[1] "factor"
$V2
[1] "factor"
<snip>
$V6
[1] "factor"
Run Code Online (Sandbox Code Playgroud)
那么如何更改我的数据框以便将列视为数字?
数据链接:
码:
distevyield <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_DistEVYield.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
str(distevyield)
distevyield <- as.data.frame(distevyield)
distevyield[5:6] <- sapply(distevyield[5:6],as.numeric)
distevyield <- droplevels(distevyield)
distevyield <- transform(distevyield,region=factor(region,levels=unique(region)))
library(ggplot2)
distevyield.f <- melt(subset(distevyield, region !="World"))
Figure3 <- ggplot(data = distevyield.f, aes(factor(variable), value))
Figure3 + geom_boxplot() +
theme(axis.text.x = element_text(colour = 'black', angle = 90, size = 15, hjust = 1, vjust = 0.5),axis.title.x = element_blank()) +
theme(axis.text.y = element_text(colour = 'black', size = 15, hjust = 0.5, vjust = 0.5), axis.title.y = …Run Code Online (Sandbox Code Playgroud) 我在R中使用以下内容从给定的数据集生成Boxplot:
boxplot(set5, col=c(3,4), names=c("5 observation box plot"))
Run Code Online (Sandbox Code Playgroud)
我还想绘制Boxplot上的特定点.目前,我只有点数生成的四分位数,但实际的点数没有显示.怎么做到这一点?
我已经看到很多解决方案在一个图上并排创建箱图,但是所有这些解决方案都要求集合中的所有向量都具有相同数量的数据点.你如何将箱形图放在同一个地块上,但数据点数量不同?
我正在尝试更改箱线图的上限和下限.
我需要从5%变为10%(较低),从95%变为90%(较高).
而且,我必须使用标准的boxplot函数(不幸的是没有ggplot).
我试图计算分位数(quantile函数),但我不知道boxplot函数如何理解新值.
一些想法?
我有matrix8列.对于每一行,我想绘制一个单一的箱图.我更喜欢箱形图在一个地块中.因此,以下示例应生成4个箱图(每个8个值) - 全部在单个图像中.
数据示例:
> data[2:5,]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0.6 0.5 0.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[2,] 0.5 0.5 0.5357143 2.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[3,] 0.5 0.7 0.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
[4,] 0.5 0.5 1.5357143 0.5357143 0.5357143 0.5357143 0.5357143 0.5185185
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经尝试过:
> boxplot(data[2:5,])
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Run Code Online (Sandbox Code Playgroud)
这个方法来自这个SO帖子:
> boxplot(as.list(as.data.frame(data[2:5,])))
Error in sort.int(x, na.last = …Run Code Online (Sandbox Code Playgroud) 请考虑以下代码:
library(ggplot2)
ggplot(diamonds, aes("", price)) + geom_boxplot() + coord_flip()
Run Code Online (Sandbox Code Playgroud)
翻转框图后,如何放大c(0,7000)价格(这是新的x轴)?
我觉得它与它有关coord_cartesian(ylim=c(0, 7000)),但这似乎并没有与之相关 coord_flip().
我想删除剧情边界内的额外空间
plt.boxplot(parkingData_agg['occupancy'], 0, 'rs', 0, 0.75)
plt.tight_layout() # This didn't work. Maybe it's not for the purpose I am thinking it is used for.
plt.yticks([0],['Average Occupancy per slot'])
fig = plt.figure(figsize=(5, 1), dpi=5) #Tried to change the figsize but it didn't work
plt.show()
Run Code Online (Sandbox Code Playgroud)
我试图在R中创建一个箱线图,但是,我发现该图的y轴刻度值错误。
.rdata可从https://www.dropbox.com/s/vbgf3mhgd2mjx8o/Mydata2.rdata?dl=0获得
load("Mydata2.rdata",.GlobalEnv)
boxplot(Value~Type+Level, data=Mydata2)
Run Code Online (Sandbox Code Playgroud)