我看了又看,答案对我来说不起作用,或者答案过于复杂和不必要。
我有数据,可以是任何数据,这是一个例子
chickens <- read.table(textConnection("
feathers beaks
2 3
6 4
1 5
2 4
4 5
10 11
9 8
12 11
7 9
1 4
5 9
"), header = TRUE)
我需要非常简单地以降序对第一列的数据进行排序。这很简单,但是我发现下面两件事都不起作用,并给我一个错误,提示:
“ order(var)中的错误:找不到对象'var'。
它们是:
chickens <- chickens[order(-feathers),]
和
chickens <- chickens[sort(-feathers),]
我不确定自己在做什么,如果将df
放在varname
前面可以使它正常工作,但是如果我把varname
放在前面SPSS
前面的减号表示降序排列。
我想尽可能简单地做到这一点,即没有布尔逻辑变量,没有类似的东西。与SORT BY varname (D)
的
app.Map("/signalr", map =>
{
// Setup the CORS middleware to run before SignalR.
// By default this will allow all origins. You can
// configure the set of origins and/or http verbs by
// providing a cors options with a different policy.
map.UseCors(CorsOptions.AllowAll);
// SignalR Auth0 custom configuration.
map.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()
{
Provider = new OAuthBearerAuthenticationProvider()
{
OnRequestToken = context =>
{
if (context.Request.Path.Value.StartsWith("/signalr"))
{
string bearerToken = context.Request.Query.Get("access_token");
if (bearerToken != null)
{
string[] authorization = new string[] { "bearer " + bearerToken };
context.Request.Headers.Add("Authorization", authorization);
}
}
return null;
}
}
});
var hubConfiguration = new HubConfiguration
{
// You can enable JSONP by uncommenting line below.
// JSONP requests are insecure but some older browsers (and some
// versions of IE) require JSONP to work cross domain
// EnableJSONP = true
};
// Run the SignalR pipeline. We're not using MapSignalR
// since this branch already runs under the "/signalr"
// path.
map.RunSignalR(hubConfiguration);
});
app.UseWebApi(config);
GlobalHost.DependencyResolver.Register(
typeof(SignalRHUB),
() => new SignalRHUB(new UnitOfWork(new DbFactory())));
//GlobalHost.HubPipeline.RequireAuthentication();
//app.MapSignalR();
答案可能就在我眼前,对于基本问题,我深表歉意。
谢谢!
答案 0 :(得分:7)
您需要使用数据框名称作为前缀
chickens[order(chickens$feathers),]
要更改顺序,该函数具有decreasing
自变量
chickens[order(chickens$feathers, decreasing = TRUE),]
答案 1 :(得分:2)
基础 R 中的语法需要使用数据帧名称作为前缀,如@dmi3kno 所示。或者您也可以使用 with
来避免使用 @joran 提到的数据帧名称和 $
。
但是,您也可以使用 data.table
执行此操作:
library(data.table)
setDT(chickens)[order(-feathers)]
#Also
#setDT(chickens)[order(feathers, decreasing = TRUE)]
# feathers beaks
# 1: 12 11
# 2: 10 11
# 3: 9 8
# 4: 7 9
# 5: 6 4
# 6: 5 9
# 7: 4 5
# 8: 2 3
# 9: 2 4
#10: 1 5
#11: 1 4
和dplyr
:
library(dplyr)
chickens %>% arrange(desc(feathers))