我是R的新手,并且正为以下问题苦苦挣扎。
我想将作为国家的行值转换为Columns,并从Year_2000 Column中分配相应的值。谢谢您的帮助!我要附上屏幕截图。
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)
这是屏幕截图
答案 0 :(得分:0)
我想您应该考虑将数据结构构建为稀疏矩阵而不是数据框。例如,可以使用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 .