我正在尝试使用ggplot2创建一个分组条形图(但可能是其他包)。我意识到还有其他一些与此类似的帖子,但是我找不到任何可以回答我具体问题的帖子,所以,如果它看起来多余,我会道歉。搜索其他问题和答案我产生了以下代码:
### To remove unwanted rows from the larger data set###
NestPatch=NestPatch[,c(3,34)]
### Reshape data frame ####
dfm <- melt(NestPatch[,c("VOR2Binned", "Factor")],id.vars = 1)
我想在X轴上有VOR2Binned,在Y上有频率,VOR2Binned按因子变量(0或1)分组,我想将其重命名为Used和Random。
以下是我的示例数据:
Factor VOR2Binned
0 3
1 3
0 3
1 3
0 2
1 2
1 3
0 2
1 3
0 2
0 3
1 3
0 3
1 3
0 3
1 3
1 2
0 3
0 0
我使用上面的代码得到了以下有序数据框。
VOR2Binned variable value
0 Factor 0
0 Factor 0
0 Factor 0
0 Factor 0
0 Factor 0
2 Factor 1
2 Factor 0
2 Factor 0
2 Factor 0
2 Factor 1
2 Factor 0
2 Factor 0
2 Factor 0
2 Factor 0
2 Factor 0
2 Factor 0
3 Factor 0
3 Factor 1
3 Factor 1
如果我继续
#### Plot ####
ggplot(dfm,aes(x = VOR2Binned,y = variable)) +
geom_bar(aes(fill = value),stat = "identity",position = "dodge") +
scale_y_log10()
我得到&#34; eval中的错误(expr,envir,enclos):object&#39; Factor&#39;找不到&#34;。
我想我错过了开发每个VOR2Binned课程频率的步骤。
答案 0 :(得分:0)
好的,当然,经过几个小时的工作,我发现了一个替代方法,在发布问题后的那一刻。
dfm <- melt(NestPatch[,c("VOR2Binned", "Factor")],id.vars = 3)
dfm <-with(NestPatch, table(VOR2Binned, Factor))
tbl <- with(NestPatch, table(Factor, VOR2Binned)); barplot(tbl, beside = TRUE, legend = TRUE)
我错过了构建数据表的步骤。
现在可以将数据可视化,但我仍然想知道如何使用ggplot,如果有人可以提供帮助的话。此外,如果有人知道如何将图例从当前因子代码1和0修改为使用和可用,将非常感激。提前谢谢。
答案 1 :(得分:0)
如果你不介意使用data.table ......
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Uri selectedImageUri = data.getData();
String picturePath = getPath(getActivity().getApplicationContext(), selectedImageUri );
File file = new File(picturePath);
Date fileDate = new Date(file.lastModifiedDate());
int timestamp = Math.round(fileDate.getTime()/1000);
}
}
public static String getPath(Context context, Uri uri) {
String result = null;
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = context.getContentResolver().query(uri, proj, null, null, null);
if(cursor != null){
if ( cursor.moveToFirst() ) {
int column_index = cursor.getColumnIndexOrThrow( proj[0] );
result = cursor.getString( column_index );
}
cursor.close( );
}
if(result == null) {
result = "Not found";
}
return result;
}