2012-09-16 46 views
0

所以,我试图按照Get a histogram plot of factor frequencies (summary)后的建议,但我认为问题在于我试图使用包含字符串的行来定义我的因素(而不是说,生成一个使用rep())。我不知道是否可以做,但显然我做错了什么。任何想法发生了什么?非常感谢!获取因素频率的一个barplot

我的数据:

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

你要不要barplot或箱线图? –

+0

Barplot!抱歉! – Atticus29

回答

0

我不知道这是否是你以后有什么和有可能是一个更好的方法(我用这样GGPLOT2我不是非常熟悉基地)。这里有一个方法,但你必须使用reptable

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") 
+0

这是,除了在这种情况下实际绘制的频率不是第二列中的数字,这是我所希望的。 – Atticus29

+0

刚才我问了一个非常类似的问题:http://stackoverflow.com/questions/12469684/how-to-make-a-barplot-with-data-where-one-of-the-columns-already-contains -the-FR – Atticus29