{"id":160119,"date":"2025-04-02T16:50:00","date_gmt":"2025-04-02T11:20:00","guid":{"rendered":"https:\/\/www.electronicsforu.com\/?p=160119"},"modified":"2025-06-14T04:46:16","modified_gmt":"2025-06-13T23:16:16","slug":"iot-health-monitoring-r-predictive-analytics","status":"publish","type":"post","link":"https:\/\/www.electronicsforu.com\/electronics-projects\/iot-health-monitoring-r-predictive-analytics","title":{"rendered":"Using R To Analyse An IoT Connected Health Monitoring System"},"content":{"rendered":"\n<p><em>We delve into the deployment of IoT for health monitoring using the statistical programming language R. The primary aim of the system developed here is to harness R\u2019s analytical prowess to process and analyse real-time health data acquired from diverse IoT devices.<\/em><\/p>\n\n\n\n<p>The health monitoring system proposed here incorporates wearable sensors, mobile applications, and cloud-based infrastructure to establish a seamless connection between individuals and healthcare providers. Wearable devices, equipped with sensors, continuously capture vital health metrics such as heart rate, blood pressure, temperature, and activity levels. These metrics are transmitted to a central server via the internet, where R-based algorithms are utilised for real-time analysis.<\/p>\n\n\n\n<p>R plays a pivotal role in the processing of raw health data, execution of statistical analyses, and generation of meaningful insights. Leveraging the language\u2019s extensive library of statistical functions, visualisation tools, and machine learning capabilities facilitates the development of predictive models aimed at identifying potential health issues. Additionally, R enables the creation of personalised health profiles and trend analyses for individuals, fostering proactive healthcare management. The architecture also encompasses a user-friendly mobile application, providing individuals with real-time access to their health information.<\/p>\n\n\n\n<p>The application described here delivers personalised feedback, health recommendations, and alerts based on the analyses performed by R. Moreover, healthcare providers can remotely monitor patients\u2019 health status and intervene promptly if anomalies are detected.<\/p>\n\n\n\n<p>To ensure the security and privacy of health data, the system incorporates robust encryption and authentication mechanisms. The cloud-based infrastructure, leveraging R, ensures secure data storage and compliance with healthcare data protection regulations.<\/p>\n\n\n\n<p>This proposed IoT-connected health monitoring system exemplifies the substantial contribution R can make to the evolving field of digital healthcare. The objective of this system is to formulate an IoT-based healthcare application that can predict the possibility of a heart attack through smart wearables, using generalised linear models (GLMs), random forests, and decision trees in R.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The problem statement<\/h2>\n\n\n\n<p>The diagnosis of heart disease is a difficult task, but automation leads to better predictions about a patient\u2019s heart condition. Data relating to resting blood pressure, cholesterol, age, sex, type of chest pain, fasting blood sugar, ST depression, and exercise-induced angina can all help to predict the likelihood of having a heart attack. Decision trees, random forests, and GLMs can be trained on the given dataset and be used to view the predicted classes, where 0 equals less chances and 1 equals more chances of a heart attack.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Setting up the health monitoring system<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Import the packages Rplot, RColorBrewer, Rattle, and randomForest.<\/li>\n\n\n\n<li>Download and read the dataset from Kaggle.<\/li>\n\n\n\n<li>View the statistics of the variables in the dataset using the function \u2018summary\u2019.<\/li>\n\n\n\n<li>Analyse the data, specific to resting blood pressure.<\/li>\n\n\n\n<li>Using the \u2018cor\u2019 function, find the correlation between resting blood pressure and age.<\/li>\n\n\n\n<li>Construct a logistic regression model using a GLM and view the output plots.<\/li>\n\n\n\n<li>Encode the target values into categorical values.<\/li>\n\n\n\n<li>Split the dataset into training and testing data in the ratio 70:30.<\/li>\n\n\n\n<li>Construct a decision tree model.<\/li>\n\n\n\n<li>Target variable is categorised based on resting blood pressure, serum cholesterol, and maximum heart rate achieved.<\/li>\n\n\n\n<li>Plot the decision tree and view the output.<\/li>\n\n\n\n<li>Devise a random forest model based on the relationship between resting blood pressure, old peak blood pressure, and chest pain type.<\/li>\n\n\n\n<li>View the confusion matrix and importance of each predictor.<\/li>\n<\/ul>\n\n\n\n<p>The required data is fetched from the patient through IoT-based smart wearables and is processed using the R tool. We will be using R version 3.3.2 (2016-10-31) and RStudio version 1.2.1335 here.<\/p>\n\n\n\n<p>Now, load all the necessary libraries:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(rpart) #used for building \nclassification and regression trees.\nlibrary(rpart.plot)\nlibrary(RColorBrewer) # help you choose \nsensible colour schemes for figures \nlibrary(rattle) # provides a collection \nof utilities functions for a data \nscientist. library(randomForest) #Used \nto create and analyse random forests. <\/code><\/pre>\n\n\n\n<p>Fig. 1 shows the installation of all the necessary packages and libraries.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"914\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/InstallingandLoadingLibraries.jpg\" alt=\"\" class=\"wp-image-160120\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/InstallingandLoadingLibraries.jpg 1018w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/InstallingandLoadingLibraries-500x449.jpg 500w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/InstallingandLoadingLibraries-468x420.jpg 468w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/InstallingandLoadingLibraries-696x625.jpg 696w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><figcaption class=\"wp-element-caption\">Fig. 1: Installing and loading libraries<\/figcaption><\/figure><\/div>\n\n\n<p>Next, load the dataset:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data = read.csv(\u201cheart_health.csv\u201d)<\/code><\/pre>\n\n\n\n<p>Make the dependent variable a factor (categorical):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data$target = as.factor(data$target)<\/code><\/pre>\n\n\n\n<p>Now split the dataset into \u2018test\u2019 and \u2018train\u2019:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cTrain Test Split\u201d) # 70\/30 Split\ndt = sort(sample(nrow(data),\nnrow(data)*.7)) train&lt;-data&#91;dt,]\nval&lt;-data&#91;-dt,] nrow(train) nrow(val)\n<\/code><\/pre>\n\n\n\n<p>Fig. 2 represents the partitioning, i.e., the splitting of the dataset into train set and test set in a 70 to 30 ratio, respectively.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"577\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset.jpg\" alt=\"\" class=\"wp-image-160121\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset.jpg 786w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset-500x367.jpg 500w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset-572x420.jpg 572w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset-80x60.jpg 80w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/PartitioningofDataset-696x511.jpg 696w\" sizes=\"auto, (max-width: 786px) 100vw, 786px\" \/><figcaption class=\"wp-element-caption\">Fig. 2: Partitioning of the dataset<\/figcaption><\/figure><\/div>\n\n\n<p>Fig. 3 helps understand the dataset being considered for the health analysis case study.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"904\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/OutcomeofDatasetminimumvsmaximumbloodpressure.jpg\" alt=\"\" class=\"wp-image-160122\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/OutcomeofDatasetminimumvsmaximumbloodpressure.jpg 760w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/OutcomeofDatasetminimumvsmaximumbloodpressure-420x500.jpg 420w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/OutcomeofDatasetminimumvsmaximumbloodpressure-353x420.jpg 353w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/OutcomeofDatasetminimumvsmaximumbloodpressure-696x828.jpg 696w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><figcaption class=\"wp-element-caption\">Fig. 3: Outcome of dataset\u2014minimum vs maximum blood pressure<\/figcaption><\/figure><\/div>\n\n\n<p>To analyse the data in the dataset, type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cMinimum resting blood pressure\u201d)\nmin(data$trestbps)\nprint(\u201cMaximum resting blood pressure\u201d)\nmax(data$trestbps)\nprint(\u201cSummary of Dataset\u201d)\nsummary(data)<\/code><\/pre>\n\n\n\n<p>To arrive at the range of resting blood pressure, use the following code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cRange of resting blood pressure\u201d)\nmax(data$trestbps) - min(data$trestbps)\nquantile(data$trestbps, c(0.25, 0.5,\n0.75)) print(\u201cColumn name of the Data\u201d)\nnames(data)\nprint(\u201cAttributes of the Data\u201d)\nstr(data)\nprint(\u201cNumber of Rows and Columns:\u201d)\ndim(data)<\/code><\/pre>\n\n\n\n<p>Fig. 4 captures the range of resting blood pressure for the health analysis case study.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"774\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-1024x774.jpg\" alt=\"\" class=\"wp-image-160123\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-1024x774.jpg 1024w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-500x378.jpg 500w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-555x420.jpg 555w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-80x60.jpg 80w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure-696x526.jpg 696w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Rangeofrestingbloodpressure.jpg 1177w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Fig. 4: Range of resting blood pressure<\/figcaption><\/figure><\/div>\n\n\n<p>To analyse the correlation between resting BP and age, use following code snippet:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cCorrelation between the resting\nblood pressure and the age\u201d)\ncor(data$trestbps, data$age, method =\u201cpearson\u201d)\ncor.test(data$trestbps, data$age, method\n= \u201cpearson\u201d)<\/code><\/pre>\n\n\n\n<p>Fig. 5 gives the correlation between resting BP and age.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"444\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage-1024x444.jpg\" alt=\"\" class=\"wp-image-160124\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage-1024x444.jpg 1024w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage-500x217.jpg 500w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage-970x420.jpg 970w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage-696x301.jpg 696w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/CorrelationbetweenrestingBPandage.jpg 1145w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Fig. 5: Correlation between resting BP and age<\/figcaption><\/figure><\/div>\n\n\n<p>To construct the GLM, type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cConstructing the Logistic\nregression Model\u201d)\nglm(target~ trestbps+ restecg + fbs,\ndata = data, family=binomial())\nmodel &lt;- glm(target~trestbps+ chol +\nthalach, data = data, family=binomial())\nplot(model)<\/code><\/pre>\n\n\n\n<p>The outcomes of the construction of the logistic regression model are illustrated in Fig. 6.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"495\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/LogisticRegressionModelOutcomes.jpg\" alt=\"\" class=\"wp-image-160125\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/LogisticRegressionModelOutcomes.jpg 957w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/LogisticRegressionModelOutcomes-500x259.jpg 500w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/LogisticRegressionModelOutcomes-812x420.jpg 812w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/LogisticRegressionModelOutcomes-696x360.jpg 696w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><figcaption class=\"wp-element-caption\">Fig. 6: Logistic regression model outcomes<\/figcaption><\/figure><\/div>\n\n\n<p>Use the following code to construct the decision tree model:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cConstruction of the Decision Tree\n\nModel\u201d) mtree &lt;- rpart(target ~ trestbps\n\n+ chol + thalach, data = train,\n\nmethod=\u201dclass\u201d, control = rpart.\n\ncontrol(minsplit = 20, minbucket = 7,\n\nmaxdepth = 10, usesurrogate = 2, xval\n\n=10))<\/code><\/pre>\n\n\n\n<p>Now plot the decision tree for the dataset, using \u2018mtree\u2019:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cPlotting the Decision Tree\u201d)\n\nplot(mtree)\n\ntext(mtree)\n\npar(xpd = NA, mar = rep(0.7, 4))\n\nplot(mtree, compress = TRUE)\n\ntext(mtree, cex = 0.7, use.n = TRUE,\n\nfancy = FALSE, all = TRUE) prp(mtree,\n\nfaclen = 0,box.palette = \u201cReds\u201d, cex =\n\n0.8, extra = 1)<\/code><\/pre>\n\n\n\n<p>Next, construct the random forest model:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rf &lt;- randomForest(target ~ trestbps +\n\noldpeak + cp, data = data)\n\nView the forest results:\n\nprint(\u201cRandom Forest Results:\u201d)\n\nprint(rf)<\/code><\/pre>\n\n\n\n<p>The importance of each predictor can be gauged by:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>print(\u201cImportance of each predictor:\u201d)\n\nprint(importance(rf,type = 2))<\/code><\/pre>\n\n\n\n<p>To plot the random forest, type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>plot(rf)<\/code><\/pre>\n\n\n\n<p>The graphical outcomes of the regression model are depicted in Figs 7 and 8.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"537\" height=\"1024\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-filtered-537x1024.jpg\" alt=\"\" class=\"wp-image-160126\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-filtered-537x1024.jpg 537w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-filtered-262x500.jpg 262w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-filtered-220x420.jpg 220w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-filtered.jpg 600w\" sizes=\"auto, (max-width: 537px) 100vw, 537px\" \/><figcaption class=\"wp-element-caption\">Fig. 7: Graphical representation of residuals vs filtered<\/figcaption><\/figure><\/div>\n\n\n<p>This IoT-based healthcare application for predicting the possibility of a heart attack using GLMs, random forests, and decision trees in R holds significant promise for predictive healthcare analytics. The GLM, as implemented in R, offers a robust foundation for predicting heart attack probabilities based on a variety of input features. Its flexibility in handling different types of response variables and accommodating complex relationships between predictors enhances the accuracy of risk predictions.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"536\" height=\"1024\" src=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-leverage-536x1024.jpg\" alt=\"\" class=\"wp-image-160127\" srcset=\"https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-leverage-536x1024.jpg 536w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-leverage-262x500.jpg 262w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-leverage-220x420.jpg 220w, https:\/\/www.electronicsforu.com\/wp-contents\/uploads\/2025\/03\/Graphical-representation-of-residuals-vs-leverage.jpg 600w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><figcaption class=\"wp-element-caption\">Fig. 8: Graphical representation of residuals vs leverage<\/figcaption><\/figure><\/div>\n\n\n<p>The integration of random forest in the healthcare application further enhances this accuracy. Random forest leverages multiple decision trees, leading to a more robust and accurate prediction model. It can handle high-dimensional data and capture intricate patterns in the dataset.<\/p>\n\n\n\n<p>Similarly, the inclusion of decision trees provides interpretable and actionable insights into the decision-making process. Decision trees, when used in conjunction with IoT data, allow for the identification of critical features influencing heart attack risks. The simplicity and transparency of decision trees facilitate the communication of results to both healthcare professionals and individuals.<\/p>\n\n\n\n<p>In IoT-based healthcare, the collaborative use of GLMs, random forests, and decision trees in R synergises the strengths of these models to create a comprehensive predictive framework. The combination of these techniques not only enhances accuracy but also provides a holistic view of the potential risk factors associated with heart attacks.<\/p>\n\n\n\n<p><em>This article was first published in May 2024 issue of Open Source For You magazine.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><em>The author, Dr Maheswari R., is Dean Innovation, Sri Eshwar College of Engineering, Coimbatore, Tamilnadu. She has work experience of more than 22 years in industry and academics, has published eight patents, and is the recipient of many awards.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We delve into the deployment of IoT for health monitoring using the statistical programming language R. The primary aim of the system developed here is to harness R\u2019s analytical prowess to process and analyse real-time health data acquired from diverse IoT devices. The health monitoring system proposed here incorporates wearable sensors, mobile applications, and cloud-based [&hellip;]<\/p>\n","protected":false},"author":210128,"featured_media":160128,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,23,6070,24],"tags":[12682,1985,1911],"class_list":{"0":"post-160119","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-electronics-projects","8":"category-hardware-diy","9":"category-advanced-projects","10":"category-software-projects-ideas","11":"tag-apr-2025","12":"tag-diy-projects","13":"tag-do-it-yourself"},"_links":{"self":[{"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/posts\/160119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/users\/210128"}],"replies":[{"embeddable":true,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/comments?post=160119"}],"version-history":[{"count":1,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/posts\/160119\/revisions"}],"predecessor-version":[{"id":165568,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/posts\/160119\/revisions\/165568"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/media\/160128"}],"wp:attachment":[{"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/media?parent=160119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/categories?post=160119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.electronicsforu.com\/wp-json\/wp\/v2\/tags?post=160119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}