Business enterprise R&D expenditure by main activity (focussed) and source of funds - BERD_MA_SOF
Data - OECD
Last observation: 2020 (N = 4557)
First observation: 2000 (N = 540)
Last data update: 02 août 2026, 08:56
Last compile: 02 sept. 2026, 23:12
Structure
obsTime
Code
BERD_MA_SOF |>
group_by(obsTime) |>
summarise(Nobs = n()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}France - 2030
Code
BERD_MA_SOF |>
filter(COUNTRY == "FRA") |>
select(obsTime, INDU_MAIN_ACT, SECTFUND, MEASURE, obsValue) |>
group_by(INDU_MAIN_ACT, SECTFUND, MEASURE) |>
arrange(obsTime) |>
summarise(Nobs = n(),
first = first(obsTime),
last = last(obsTime)) |>
print_table_conditional()Data
Percentage of R&D done in manufacturing
2018
Code
BERD_MA_SOF |>
filter(obsTime == 2017,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("DEU", "FRA", "GBR", "ITA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}R&D in industry and telecommunications
2018 (%)
Code
BERD_MA_SOF |>
filter(obsTime == 2018,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = 100*`MANUFACTURING (C)` / `TOTAL BERD`,
`INFORMATION AND COMMUNICATION (J)` = 100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2017
Code
BERD_MA_SOF |>
filter(obsTime == 2017,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = 100*`MANUFACTURING (C)` / `TOTAL BERD`,
`INFORMATION AND COMMUNICATION (J)` = 100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2016
Code
BERD_MA_SOF |>
filter(obsTime == 2016,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = 100*`MANUFACTURING (C)` / `TOTAL BERD`,
`INFORMATION AND COMMUNICATION (J)` = 100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2015
Code
BERD_MA_SOF |>
filter(obsTime == 2015,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = 100*`MANUFACTURING (C)` / `TOTAL BERD`,
`INFORMATION AND COMMUNICATION (J)` = 100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2014
Code
BERD_MA_SOF |>
filter(obsTime == 2014,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = 100*`MANUFACTURING (C)` / `TOTAL BERD`,
`INFORMATION AND COMMUNICATION (J)` = 100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}2013
Code
BERD_MA_SOF |>
filter(obsTime == 2013,
MEASURE == "DF6",
SECTFUND == "_T",
INDU_MAIN_ACT %in% c("C", "J", "_T")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(COUNTRY, Country, Indu_main_act, obsValue) |>
spread(Indu_main_act, obsValue) |>
mutate(`MANUFACTURING (C)` = round(100*`MANUFACTURING (C)` / `TOTAL BERD`, 1),
`INFORMATION AND COMMUNICATION (J)` = round(100*`INFORMATION AND COMMUNICATION (J)` / `TOTAL BERD`, 1)) |>
arrange(-`MANUFACTURING (C)`) |>
mutate(Flag = gsub(" ", "-", str_to_lower(Country)),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}SECTFUND - Total
2018
Germany, France, UK, Italy
Code
BERD_MA_SOF |>
filter(obsTime == 2017,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("DEU", "FRA", "GBR", "ITA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}Australia, Austria, UK, US
Code
BERD_MA_SOF |>
filter(obsTime == 2017,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("AUS", "AUT", "GBR", "USA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}2011
Code
BERD_MA_SOF |>
filter(obsTime == 2011,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("DEU", "FRA", "GBR", "ITA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}2015
Code
BERD_MA_SOF |>
filter(obsTime == 2015,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("DEU", "FRA", "GBR", "ITA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}2013
Code
BERD_MA_SOF |>
filter(obsTime == 2013,
MEASURE == "DF6",
SECTFUND == "_T",
COUNTRY %in% c("DEU", "FRA", "GBR", "ITA")) |>
left_join(BERD_MA_SOF_var$INDU_MAIN_ACT, by = "INDU_MAIN_ACT") |>
left_join(BERD_MA_SOF_var$COUNTRY, by = "COUNTRY") |>
select(Country, INDU_MAIN_ACT, Indu_main_act, obsValue) |>
spread(Country, obsValue) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}


