如何在R

时间:2018-07-24 15:06:10

标签: r

我看了又看,答案对我来说不起作用,或者答案过于复杂和不必要。

我有数据,可以是任何数据,这是一个例子

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();

答案可能就在我眼前,对于基本问题,我深表歉意。

谢谢!

2 个答案:

答案 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))