2016-02-10 2 views
0

Для образца dataframe:граф строк в R data.table

library(data.table) 
df = structure(list(country = c("AT", "AT", "AT", "BE", "BE", "BE", 
          "DE", "DE", "DE", "DE", "DE", "DE", "DE", "DE", "DE", "DE", "DE", 
          "DE", "DE", "DE"), level = c("1", "1", "1", "1", "1", "1", "1", 
                  "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" 
          ), region = c("AT2", "AT1", "AT3", "BE2", "BE1", "BE3", "DE4", 
              "DE3", "DE9", "DE7", "DE1", "DEE", "DEG", "DE2", "DED", "DEB", 
              "DEA", "DEF", "DE6", "DE8"), N = c("348", "707", "648", "952", 
                       "143", "584", "171", "155", "234", "176", "302", "144", "148", 
                       "386", "257", "126", "463", "74", "44", "119"), result = c("24.43", 
                                     "26.59", "20.37", "23.53", "16.78", "25.51", "46.2", "43.23", 
                                     "41.03", "37.5", "33.44", "58.33", "47.97", "34.46", "39.69", 
                                     "31.75", "36.93", "43.24", "36.36", "43.7")), .Names = c("country", 
                                                    "level", "region", "N", "result"), class = c("data.table", "data.frame" 
                                                   ), row.names = c(NA, -20L)) 

Я использую следующий код для создания сводной таблицы:

variable.country <-setDT(variable.regions)[order(country), list(min_result = min(result), 
                max_result = max(result), level= level[1L]), by = country] 

Я просто хочу, чтобы добавить еще одну переменную в этом таблицу данных, которая позволяет мне знать, сколько регионов, то есть строк в каждой стране (т. е. AT имеет 3), - как бы я мог получить длину или тускло работать в этих условиях?

Спасибо.

ответ

3

Мы можем использовать .N, чтобы получить длину за каждую «страну»

setDT(variable.regions)[order(country), 
     list(min_result = min(result), 
       len = .N, 
       max_result = max(result), 
       level= level[1L]), 
       by = country] 
Смежные вопросы