我有这些数据:
structure(list(type = c("journal", "all", "similar_age_1m", "similar_age_3m",
"similar_age_journal_1m", "similar_age_journal_3m"), count = c("13972",
"754555", "22408", "56213", "508", "1035"), rank = c("13759",
"754043", "22339", "56074", "459", "947"), pct = c("98.48", "99.93",
"99.69", "99.75", "90.35", "91.50")), .Names = c("type", "count",
"rank", "pct"), row.names = c(NA, -6L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
我想把它变成一行,列的名称2:4
以相应的类型为前缀.例如journal.count
,journal.rank
......最快的方法是什么?出于某种原因dcast
,reshape
并没有为我做这个,我的解决方案有点太麻烦.
你提到过reshape2
,所以这是一种方式:
library("reshape2")
dcast(melt(dat, id.var="type"), 1~variable+type)
Run Code Online (Sandbox Code Playgroud)
这给了:
1 count_all count_journal count_similar_age_1m count_similar_age_3m
1 1 754555 13972 22408 56213
count_similar_age_journal_1m count_similar_age_journal_3m rank_all
1 508 1035 754043
rank_journal rank_similar_age_1m rank_similar_age_3m
1 13759 22339 56074
rank_similar_age_journal_1m rank_similar_age_journal_3m pct_all pct_journal
1 459 947 99.93 98.48
pct_similar_age_1m pct_similar_age_3m pct_similar_age_journal_1m
1 99.69 99.75 90.35
pct_similar_age_journal_3m
1 91.50
Run Code Online (Sandbox Code Playgroud)
然而,type
和变量用_
,而不是分开.
.
归档时间: |
|
查看次数: |
851 次 |
最近记录: |