################googleVis####################
#install.packages('googleVis')
# library(googleVis)
# library(dplyr)
A %>%
  filter(Technology_transfer_amount>0 & Reinvestment_amount>0 & Sales_Amount>0  ) %>%
  group_by(Industry_type,Technology_transfer_year)%>%
  summarise(
    case_NO=n(),
    Technology_transfer_amount=mean(Technology_transfer_amount,na.rm = T),
    Reinvestment_amount=mean(Reinvestment_amount,na.rm=T),
    Material_costs=mean(Reinvestment_amount*(Material_costs/100),na.rm=T),
    Facilities_costs=mean(Reinvestment_amount*(Facilities_costs/100),na.rm=T),
    Research_Development_cost=mean(Reinvestment_amount*(Research_Development_cost/100),na.rm=T),
    Marketing_cost=mean(Reinvestment_amount*(Marketing_cost/100),na.rm=T),
    Other_cost=mean(Reinvestment_amount*(Other_cost/100),na.rm=T),
    Sales_Amount=mean(Sales_Amount,na.rm=T)
  )  -> df
Warning message:
In strsplit(code, "\n", fixed = TRUE) :
  input string 1 is invalid in this locale
df = as.data.frame((df))
df$Industry_type = sapply(df$Industry_type, function(v) 
  ifelse(v=='林業','forestry',ifelse(v=='畜牧','Livestock',ifelse(v=='農糧','Agricultural','Fisheries')))) 
plot(gvisMotionChart(
  df,'Industry_type','Technology_transfer_year',
  options=list(width=1000, height=600)))
df
LS0tDQp0aXRsZTogIkRhdGEgZ3JvdXAgYnkgYW5kIFZpc3VhbGl6YXRpb24oZ29vZ2xldmlzKSINCmF1dGhvcjogIuWKieiCsumKmCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3J9DQojIyMjIyMjIyMjIyMjIyMjZ29vZ2xlVmlzIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiNpbnN0YWxsLnBhY2thZ2VzKCdnb29nbGVWaXMnKQ0KIyBsaWJyYXJ5KGdvb2dsZVZpcykNCiMgbGlicmFyeShkcGx5cikNCg0KDQpBICU+JQ0KICBmaWx0ZXIoVGVjaG5vbG9neV90cmFuc2Zlcl9hbW91bnQ+MCAmIFJlaW52ZXN0bWVudF9hbW91bnQ+MCAmIFNhbGVzX0Ftb3VudD4wICApICU+JQ0KDQogIGdyb3VwX2J5KEluZHVzdHJ5X3R5cGUsVGVjaG5vbG9neV90cmFuc2Zlcl95ZWFyKSU+JQ0KICBzdW1tYXJpc2UoDQogICAgY2FzZV9OTz1uKCksDQogICAgVGVjaG5vbG9neV90cmFuc2Zlcl9hbW91bnQ9bWVhbihUZWNobm9sb2d5X3RyYW5zZmVyX2Ftb3VudCxuYS5ybSA9IFQpLA0KICAgIFJlaW52ZXN0bWVudF9hbW91bnQ9bWVhbihSZWludmVzdG1lbnRfYW1vdW50LG5hLnJtPVQpLA0KICAgIE1hdGVyaWFsX2Nvc3RzPW1lYW4oUmVpbnZlc3RtZW50X2Ftb3VudCooTWF0ZXJpYWxfY29zdHMvMTAwKSxuYS5ybT1UKSwNCiAgICBGYWNpbGl0aWVzX2Nvc3RzPW1lYW4oUmVpbnZlc3RtZW50X2Ftb3VudCooRmFjaWxpdGllc19jb3N0cy8xMDApLG5hLnJtPVQpLA0KICAgIFJlc2VhcmNoX0RldmVsb3BtZW50X2Nvc3Q9bWVhbihSZWludmVzdG1lbnRfYW1vdW50KihSZXNlYXJjaF9EZXZlbG9wbWVudF9jb3N0LzEwMCksbmEucm09VCksDQogICAgTWFya2V0aW5nX2Nvc3Q9bWVhbihSZWludmVzdG1lbnRfYW1vdW50KihNYXJrZXRpbmdfY29zdC8xMDApLG5hLnJtPVQpLA0KICAgIE90aGVyX2Nvc3Q9bWVhbihSZWludmVzdG1lbnRfYW1vdW50KihPdGhlcl9jb3N0LzEwMCksbmEucm09VCksDQogICAgU2FsZXNfQW1vdW50PW1lYW4oU2FsZXNfQW1vdW50LG5hLnJtPVQpDQogICkgIC0+IGRmDQoNCmRmID0gYXMuZGF0YS5mcmFtZSgoZGYpKQ0KZGYkSW5kdXN0cnlfdHlwZSA9IHNhcHBseShkZiRJbmR1c3RyeV90eXBlLCBmdW5jdGlvbih2KSANCiAgaWZlbHNlKHY9PSfmnpfmpa0nLCdmb3Jlc3RyeScsaWZlbHNlKHY9PSfnlZzniacnLCdMaXZlc3RvY2snLGlmZWxzZSh2PT0n6L6y57OnJywnQWdyaWN1bHR1cmFsJywnRmlzaGVyaWVzJykpKSkgDQpwbG90KGd2aXNNb3Rpb25DaGFydCgNCiAgZGYsJ0luZHVzdHJ5X3R5cGUnLCdUZWNobm9sb2d5X3RyYW5zZmVyX3llYXInLA0KICBvcHRpb25zPWxpc3Qod2lkdGg9MTAwMCwgaGVpZ2h0PTYwMCkpKQ0KZGYNCg0KYGBgDQoNCg==