R: преобразование строк в столбец и присвоение значений соответствующим столбцам - PullRequest
0 голосов
/ 23 марта 2019

Я новичок в R, и я борюсь со следующей проблемой.

Я хочу преобразовать значения строк, которые являются странами, в столбцы и назначить им соответствующие значения из столбца Year_2000.Спасибо за помощь!Я прилагаю снимки экрана.

   Country_a <- c("Argentina","China","US","Brazil","France","Germany","Cananda")
  Country_b <- c("Brazil","Mexico","New 
  Zealand","France","Mongolia","China","US")
  Year_2000 <- c(30,54,67,4,7,4,5)
  dataframe <- data.frame(Country_a,Country_b,Year_2000)

Это скриншот

https://imgur.com/a/kortrEb

1 Ответ

0 голосов
/ 25 марта 2019

Полагаю, вам следует рассмотреть вопрос о построении структуры данных в виде разреженной матрицы вместо фрейма данных. Это можно сделать, например, с помощью пакета Matrix.

library(Matrix)
sparse_Matrix_output <- sparseMatrix(i = as.integer(dataframe$Country_a), j = as.integer(dataframe$Country_b), x = dataframe$Year_2000)
colnames(sparse_Matrix_output) = levels(dataframe$Country_b)
rownames(sparse_Matrix_output) = levels(dataframe$Country_a)

А вот и вывод:

sparse_Matrix_output
7 x 7 sparse Matrix of class "dgCMatrix"
          Brazil China France Mexico Mongolia New Zealand US
Argentina     30     .      .      .        .           .  .
Brazil         .     .      4      .        .           .  .
Cananda        .     .      .      .        .           .  5
China          .     .      .     54        .           .  .
France         .     .      .      .        7           .  .
Germany        .     4      .      .        .           .  .
US             .     .      .      .        .          67  .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...