在R中合并数据帧中具有相同名称的行

在R中合并数据帧中具有相同名称的行,r,dataframe,merge,rows,R,Dataframe,Merge,Rows,我将数据帧格式化为如下示例: Strain Counts VCI_4 5 VCI_4 10 VCI_5 15 VCI_5 20 VCI_5 25 VCI_13 30 我想像这样通过应变合并像行一样的值 VCI_4 5 10 VCI_5 15 20 25 VCI_13 30 不需要保留列名 下面是实际数据帧的代码 input <- data.frame( + strain = c("VCI_4","VCI_4","VCI_5&q

我将数据帧格式化为如下示例:

Strain Counts
VCI_4  5
VCI_4  10
VCI_5  15
VCI_5  20
VCI_5  25
VCI_13 30
我想像这样通过应变合并像行一样的值

VCI_4 5 10
VCI_5 15 20 25
VCI_13 30
不需要保留列名

下面是实际数据帧的代码

input <- data.frame(
+ strain = c("VCI_4","VCI_4","VCI_5","VCI_5","VCI_5","VCI_13","VCI_15","VCI_15","VCI_15","VCI_16","VCI_16","VCI_18","VCI_23","VCI_23","VCI_30","VCI_30","VCI_38","VCI_38","VCI_39","VCI_39","VCI_41","VCI_44","VCI_44","VCI_44","VCI_45","VCI_46","VCI_48","VCI_48","VCI_52","VCI_55","VCI_55","VCI_55","VCI_56","VCI_56","VCI_64","VCI_64","VCI_66","VCI_68","VCI_68","VCI_68","VCI_70","VCI_70","VCI_75","VCI_75","VCI_77","VCI_77","VCI_77","VCI_78","VCI_78","VCI_78","VCI_82","VCI_82","VCI_83","VCI_83","VCI_86","VCI_86","VCI_86","VCI_89","VCI_89","VCI_89","VCI_90","VCI_90","VCI_90","VCI_100","VCI_100","VCI_101","VCI_101","VCI_101","VCI_102","VCI_102","VCI_108","VCI_108","VCI_108","VCI_109","VCI_109","VCI_109","VCI_110","VCI_110","VCI_114","VCI_114","VCI_121","VCI_121","VCI_124","VCI_129","VCI_129","VCI_134","VCI_134","VCI_134","VCI_135","VCI_135","VCI_138","VCI_138","VCI_138","VCI_139","VCI_145","VCI_145","VCI_145","VCI_146","VCI_146","VCI_147","VCI_147","VCI_150","VCI_150","VCI_150","VCI_151","VCI_151","VCI_152","VCI_155","VCI_155","VCI_156","VCI_156","VCI_156","VCI_157","VCI_157","VCI_157","VCI_158","VCI_159","VCI_159","VCI_159","VCI_163","VCI_163","VCI_163","VCI_168","VCI_168","VCI_168","VCI_169","VCI_169","VCI_169","VCI_170","VCI_170","VCI_170","VCI_171","VCI_171","VCI_172","VCI_172","VCI_174","VCI_174","VCI_176","VCI_176","VCI_177","VCI_177","VCI_178","VCI_178","VCI_179","VCI_179","VCI_181","VCI_181","VCI_181","VCI_187","VCI_188","VCI_188","VCI_188","VCI_189","VCI_189","VCI_189","VCI_192","VCI_192","VCI_192","VCI_193","VCI_194","VCI_194","VCI_195","VCI_197","VCI_197","VCI_198","VCI_198","VCI_198","VCI_202","VCI_202","VCI_203","VCI_203","VCI_203","VCI_204","VCI_204","VCI_204","VCI_208","VCI_208","VCI_209","VCI_209","VCI_214","VCI_214","VCI_215","VCI_215","VCI_215","VCI_216","VCI_216","VCI_218","VCI_218","VCI_218","VCI_219","VCI_219","VCI_221","VCI_223","VCI_224","VCI_224","VCI_224","VCI_227","VCI_227","VCI_228","VCI_228","VCI_229","VCI_229","VCI_229","VCI_230","VCI_230","VCI_230","VCI_233","VCI_234","VCI_234","VCI_234","VCI_235","VCI_235","VCI_238","VCI_238","VCI_240","VCI_241","VCI_241","VCI_243","VCI_243","VCI_244","VCI_244","VCI_244","VCI_245","VCI_246","VCI_246","VCI_246","VCI_250","VCI_250","VCI_251","VCI_251","VCI_251","VCI_252","VCI_252","VCI_254","VCI_254","VCI_255","VCI_255","VCI_255","VCI_257","VCI_257","VCI_259","VCI_261","VCI_261","VCI_264","VCI_264","VCI_266","VCI_266","VCI_266","VCI_269","VCI_269","VCI_276","VCI_276","VCI_280","VCI_280","VCI_280","VCI_283","VCI_283","VCI_283","VCI_291","VCI_291","VCI_291","VCI_295","VCI_302","VCI_302","VCI_302","VCI_311","VCI_311","VCI_311","VCI_312","VCI_312","VCI_312","VCI_314","VCI_314","VCI_317","VCI_317","VCI_319","VCI_319","VCI_319","VCI_322","VCI_322","VCI_322","VCI_323","VCI_323","VCI_323","VCI_325","VCI_325","VCI_325","VCI_326","VCI_326","VCI_326","VCI_328","VCI_328","VCI_337","VCI_337","VCI_337","VCI_358","VCI_359","VCI_359","VCI_366","VCI_379","VCI_379","VCI_379","VCI_409","VCI_414","VCI_414","VCI_414","VCI_417","VCI_423","VCI_423","VCI_423","VCI_430","VCI_430","VCI_430","VCI_444","VCI_446","VCI_456","VCI_461","VCI_472","VCI_472","VCI_478","VCI_478","VCI_478","VCI_481","VCI_481","VCI_491","VCI_491","VCI_499","VCI_499","VCI_499","VCI_505","VCI_505","VCI_525","VCI_525","VCI_525","VCI_545","VCI_546","VCI_546","VCI_546","VCI_567","VCI_569","Erd","Erd"),
+ counts = c(1031.5,1055.5,740.8333333,848.6666667,772.1666667,254.3333333,241.3333333,201.3333333,201.3333333,115.3333333,264.3333333,139,311.3333333,328.1666667,460,845.1666667,591.6666667,511.6666667,547,604.5,113.1666667,399.6666667,538,665.1666667,683.3333333,373.5,256.8333333,530.6666667,446.1666667,454.1666667,451.3333333,813.8333333,204.5,418.3333333,217.8333333,181.6666667,367.8333333,310,160.8333333,259,208.1666667,398,296,361.5,303.8333333,178.3333333,178.1666667,270.3333333,162.6666667,302.1666667,174.6666667,166.8333333,99.33333333,171.6666667,610.3333333,463.5,322.6666667,137.8333333,160.5,206,325.1666667,472.3333333,266.3333333,154,280.1666667,287.1666667,340.8333333,113,220.8333333,99.5,169.1666667,134.6666667,115.3333333,58.66666667,96.5,151.3333333,58.66666667,68,94.16666667,111,92.5,44.16666667,131.1666667,451.3333333,269.3333333,286.5,316.3333333,282.1666667,208.3333333,282.8333333,202,277.1666667,136.8333333,392,255.5,256.5,255,208,198,234.5,377,272.1666667,220.6666667,284.8333333,372.6666667,299,197,186.5,94.5,342.1666667,380.3333333,497.8333333,334,262,319.8333333,150.6666667,113,81.83333333,61.83333333,388.8333333,251.8333333,277.8333333,117,88.33333333,84.5,516.8333333,275.6666667,287.1666667,226.6666667,292,78.83333333,367.1666667,195.5,248.5,240.3333333,94,152.1666667,249.8333333,362,255.5,462.6666667,380.3333333,378.3333333,235.5,416.1666667,600.6666667,424,432.6666667,213,386.1666667,746.6666667,327,205,332.5,105,274,163.6666667,309,297,95,109.8333333,149.5,98.5,355.5,166,185,186.6666667,219.5,142.5,250.8333333,189.8333333,374,418.8333333,418.1666667,173.3333333,116.1666667,117.6666667,251,206,278.8333333,308.8333333,108.1666667,135.5,91,380.8333333,301.5,120,450.6666667,152,218.3333333,273.1666667,190.6666667,448.8333333,117.6666667,31.83333333,34.5,220.5,92.16666667,146.6666667,240.6666667,171,271.1666667,201.6666667,198.5,215,238.1666667,196.6666667,240.5,311.8333333,203.8333333,86.33333333,138.5,100,45.5,263.8333333,307.6666667,563.6666667,237.1666667,261.1666667,1286.333333,752,1248,338.1666667,293,261.5,301,172.8333333,120.3333333,381.8333333,490.5,764.1666667,425.6666667,486.5,76,643.8333333,475.6666667,528.5,236.3333333,108,228.6666667,283.8333333,181.3333333,111.8333333,284,254.5,225.1666667,319.6666667,228.3333333,292,234.6666667,672.8333333,241.6666667,371.8333333,382,408.3333333,407.3333333,209,270,155,147.6666667,165.5,89.66666667,198.1666667,387.1666667,364.8333333,298.5,273.1666667,189.5,545,537.1666667,618,909.6666667,623.5,340.6666667,169.8333333,372.8333333,321.3333333,284.6666667,389.6666667,246.6666667,176.1666667,295.3333333,389.6666667,196,187.8333333,188.5,231.5,366,71.33333333,59.5,396.5,555.8333333,293,765.6666667,437,206.6666667,351.5,358.6666667,115.1666667,238.5,268.6666667,172.8333333,252.5,183.8333333,195.8333333,81.16666667,109.8333333,215.1666667,402.5,290.6666667,285,355.8333333,157.5,146.3333333,134.5,305.8333333,72.16666667,195.3333333,346.3333333,216.1666667,176.6666667,132.1666667,586,355.1666667,330,333.3333333,580.6666667,456.3333333,328,124.3333333,23.83333333,435.3333333,245,336.1666667,339.3333333,276,538.5,292.1666667,268.8333333,185.5,291.1666667,163.8333333),
+ stringsAsFactors = FALSE
+ )
input这是否有效:

library(stringr)
library(dplyr)
input %>% group_by(strain) %>% summarise(counts_new = str_c(counts, collapse = ' '))
`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 156 x 2
   strain  counts_new                         
   <chr>   <chr>                              
 1 Erd     291.1666667 163.8333333            
 2 VCI_100 154 280.1666667                    
 3 VCI_101 287.1666667 340.8333333 113        
 4 VCI_102 220.8333333 99.5                   
 5 VCI_108 169.1666667 134.6666667 115.3333333
 6 VCI_109 58.66666667 96.5 151.3333333       
 7 VCI_110 58.66666667 68                     
 8 VCI_114 94.16666667 111                    
 9 VCI_121 92.5 44.16666667                   
10 VCI_124 131.1666667                        
# ... with 146 more rows
库(stringr)
图书馆(dplyr)
输入%>%按(应变)分组%>%总结(计数新=计数c(计数,折叠=“”))
`summary()`解组输出(用`.groups`参数重写)
#一个tibble:156 x 2
新的应变计数
1 Erd 291.1666667 163.8333333
2 VCI_100 154 280.1666667
3 VCI_101 287.1666667 340.8333333 113
4 VCI_102 220.8333333 99.5
5 VCI_108 169.1666667 134.66667 115.3333333
6 VCI_109 58.666667 96.5 151.3333333
7 VCI_110 58.666667 68
8 VCI_114 94.16666667 111
9 VCI_121 92.5 44.16666667
10 VCI_124 131.1666667
# ... 还有146行
这是否有效:

library(stringr)
library(dplyr)
input %>% group_by(strain) %>% summarise(counts_new = str_c(counts, collapse = ' '))
`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 156 x 2
   strain  counts_new                         
   <chr>   <chr>                              
 1 Erd     291.1666667 163.8333333            
 2 VCI_100 154 280.1666667                    
 3 VCI_101 287.1666667 340.8333333 113        
 4 VCI_102 220.8333333 99.5                   
 5 VCI_108 169.1666667 134.6666667 115.3333333
 6 VCI_109 58.66666667 96.5 151.3333333       
 7 VCI_110 58.66666667 68                     
 8 VCI_114 94.16666667 111                    
 9 VCI_121 92.5 44.16666667                   
10 VCI_124 131.1666667                        
# ... with 146 more rows
库(stringr)
图书馆(dplyr)
输入%>%按(应变)分组%>%总结(计数新=计数c(计数,折叠=“”))
`summary()`解组输出(用`.groups`参数重写)
#一个tibble:156 x 2
新的应变计数
1 Erd 291.1666667 163.8333333
2 VCI_100 154 280.1666667
3 VCI_101 287.1666667 340.8333333 113
4 VCI_102 220.8333333 99.5
5 VCI_108 169.1666667 134.66667 115.3333333
6 VCI_109 58.666667 96.5 151.3333333
7 VCI_110 58.666667 68
8 VCI_114 94.16666667 111
9 VCI_121 92.5 44.16666667
10 VCI_124 131.1666667
# ... 还有146行

使用
数据。表
dcast(setDT(输入),应变~rowid(应变),value.var='counts')
如果您希望值位于不同的列中。使用
数据。表
dcast(setDT(输入),应变~rowid(应变),value.var='counts')
如果您希望值位于不同的列中。是的,这是有效的!非常感谢你!是的,这很有效!非常感谢你!