微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

任何人都可以帮助我使用 R 进行数据处理吗? [图片更新]

如何解决任何人都可以帮助我使用 R 进行数据处理吗? [图片更新]

大家早上好!我是 R 编程的新手。最近,我遇到了一些问题。我想处理附加图片等数据。一列有两种数据,excel文件/表格总共有9000+行和几列,而有两种数据的列只是其中的一列。

originaldata

ID Fruit/FruitJuice                                                        
  <dbl> <chr>                                                                          
1     1 NA/applejuice:15(ml)                                                         
2     2 banana:10(kg)/orangejuice:20(ml);tomatojuice:25(ml)                            
3     3 watermelon:10(kg)/NA                                                          
4     4 banana:5(kg);grape:6(kg)/orangejuice:30(ml);applejuice:50(ml);mangojuice:25(ml)

简单描述一下数据,2种数据的一栏是水果和果汁,用“/”隔开,括号内各有单位,而水果或果汁中的对象用“/”隔开; ”。

由于实际数据框包含的列比我显示的图像多,并且我已经在网上进行了一些搜索,但我仍然不知道如何解决它并希望获得如下最终表格,可以有人帮我吗?谢谢

Final data wish-to-be

      ID `Fruit/FruitJuice`           
 1     1 Fruit_NA                     
 2     1 Fruitjuice_applejuice:15(ml) 
 3     2 Fruit_banana:10(kg)      
 4     2 Fruitjuice_orangejuice:20(ml)
 5     2 Fruitjuice_tomatojuice:25(ml)
 6     3 Fruit_watermelon:10(kg)      
 7     3 Fruitjuice_NA                
 8     4 Fruit_banana:5(kg)           
 9     4 Fruit_grape:6(kg)            
10     4 Fruitjuice_orangejuice:30(ml)
11     4 Fruitjuice_applejuice:50(ml) 
12     4 Fruitjuice_mangojuice:25(ml) 

解决方法

这是使用 tidyr 的方法:

library(tidyverse)
data %>% 
   separate(2,into = c("Fruit","FruitJuice"),sep = "/") %>%
   pivot_longer(-ID) %>% separate_rows(value,sep = ";") %>%
   summarise(ID = ID,`Fruit/FruitJuice` = str_c(name,"_",value))
# A tibble: 12 x 2
      ID `Fruit/FruitJuice`           
   <int> <chr>                        
 1     1 Fruit_NA                     
 2     1 FruitJuice_applejuice:15(ml) 
 3     2 Fruit_banana:10(kg)          
 4     2 FruitJuice_orangejuice:20(ml)
 5     2 FruitJuice_tomatojuice:25(ml)
 6     3 Fruit_watermelon:10(kg)      
 7     3 FruitJuice_NA                
 8     4 Fruit_banana:5(kg)           
 9     4 Fruit_grape:6(kg)            
10     4 FruitJuice_orangejuice:30(ml)
11     4 FruitJuice_applejuice:50(ml) 
12     4 FruitJuice_mangojuice:25(ml) 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。