所以,我尝试按照Get a histogram plot of factor frequencies (summary)帖子的建议,但我认为问题在于我正在尝试使用包含字符串的行来定义我的因子(而不是使用包含字符串的行来定义代表())。我不知道这是否可行,但显然我做错了什么。知道发生了什么事吗?非常感谢!
我的数据:
data<-structure(list(V1 = structure(c(2L, 1L), .Label = c("593", "QnWeight_initial"
), class = "factor"), V2 = structure(c(2L, 1L), .Label = c("482",
"Left_Leg"), class = "factor"), V3 = structure(c(2L, 1L), .Label = c("474",
"Left_Antenna"), class = "factor"), V4 = structure(c(2L, 1L), .Label = c("566",
"Head"), class = "factor"), V5 = structure(c(2L, 1L), .Label = c("51",
"Right_Antenna"), class = "factor"), V6 = structure(c(2L, 1L), .Label = c("49",
"Right_Leg"), class = "factor"), V7 = structure(c(2L, 1L), .Label = c("49",
"Left_Leg_Remeasure"), class = "factor"), V8 = structure(c(2L,
1L), .Label = c("46", "Left_Antenna_Remeasure"), class = "factor"),
V9 = structure(c(2L, 1L), .Label = c("47", "Head_Remeasure"
), class = "factor"), V10 = structure(c(2L, 1L), .Label = c("230",
"Days_wrkr_eclosion"), class = "factor"), V11 = structure(c(2L,
1L), .Label = c("237", "Qn_Weight_Loss"), class = "factor"),
V12 = structure(c(2L, 1L), .Label = c("81", "Growth_all"), class = "factor"),
V13 = structure(c(2L, 1L), .Label = c("79", "Growth_1_2"), class = "factor"),
V14 = structure(c(2L, 1L), .Label = c("62", "Growth_1_3"), class = "factor"),
V15 = structure(c(2L, 1L), .Label = c("60", "Growth_2_3"), class = "factor"),
V16 = structure(c(2L, 1L), .Label = c("535", "V1"), class = "factor"),
V17 = structure(c(2L, 1L), .Label = c("535", "V2"), class = "factor"),
V18 = structure(c(2L, 1L), .Label = c("535", "V3"), class = "factor")), .Names = c("V1",
"V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10", "V11",
"V12", "V13", "V14", "V15", "V16", "V17", "V18"), class = "data.frame", row.names = c(NA,
-2L))
我的代码:
dat<-data.frame(fac=data[1,], freqs=data[2,])
print(dat)
str(dat)
barplot(dat, main="Sample Sizes of Various Fitness Traits")
答案 0 :(得分:0)
我不确定这是不是你所追求的并且可能有更好的方法(我使用ggplot2所以对基础不是很熟悉)。这是一种方法,但您必须使用rep
和table
:
dat<-data.frame(fac=unlist(data[1,, drop=FALSE]), freqs=unlist(data[2,, drop=FALSE]))
barplot(table(rep(as.character(dat[, 1]), dat[, 2])),
main="Sample Sizes of Various Fitness Traits")