# Install packages
if (!requireNamespace("data.table", quietly = TRUE)) {
install.packages("data.table")
}
if (!requireNamespace("jsonlite", quietly = TRUE)) {
install.packages("jsonlite")
}
if (!requireNamespace("NeuralNetTools", quietly = TRUE)) {
install.packages("NeuralNetTools")
}
if (!requireNamespace("nnet", quietly = TRUE)) {
install.packages("nnet")
}
# Load packages
library(data.table)
library(jsonlite)
library(NeuralNetTools)
library(nnet)Neural Network
Note
Hiplot website
This page is the tutorial for source code version of the Hiplot Neural Network plugin. You can also use the Hiplot website to achieve no code ploting. For more information please see the following link:
Setup
System Requirements: Cross-platform (Linux/MacOS/Windows)
Programming language: R
Dependent packages:
data.table;jsonlite;NeuralNetTools;nnet
sessioninfo::session_info("attached")β Session info βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
setting value
version R version 4.5.3 (2026-03-11)
os Ubuntu 24.04.4 LTS
system x86_64, linux-gnu
ui X11
language (EN)
collate C.UTF-8
ctype C.UTF-8
tz UTC
date 2026-04-21
pandoc 3.1.3 @ /usr/bin/ (via rmarkdown)
quarto 1.9.37 @ /usr/local/bin/quarto
β Packages βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
package * version date (UTC) lib source
data.table * 1.18.2.1 2026-01-27 [1] RSPM
jsonlite * 2.0.0 2025-03-27 [1] RSPM
NeuralNetTools * 1.5.3 2022-01-06 [1] RSPM
nnet * 7.3-20 2025-01-01 [3] CRAN (R 4.5.3)
[1] /home/runner/work/_temp/Library
[2] /opt/R/4.5.3/lib/R/site-library
[3] /opt/R/4.5.3/lib/R/library
* ββ Packages attached to the search path.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Data Preparation
# Load data
data <- data.table::fread(jsonlite::read_json("https://hiplot.cn/ui/basic/neural-network/data.json")$exampleData$textarea[[1]])
data <- as.data.frame(data)
# View data
head(data) Y1 Y2 X1 X2 X3
1 0.7646258 0.5494452 -0.89691455 -1.8923489 0.6408445
2 0.2383994 0.4605024 0.18484918 1.2928042 -1.6013778
3 0.3800247 0.2527468 1.58784533 -0.6182543 -0.7778154
4 0.3545279 0.6319730 -1.13037567 1.0409383 -1.6473925
5 0.3667356 0.4684437 -0.08025176 1.1758795 0.1542662
6 0.5509560 0.4439474 0.13242028 -1.5018321 -1.1756313
Visualization
# Neural Network
mod <- nnet(Y1 ~ X1 + X2 + X3, data = neuraldat, size = 10,
maxint = 100, decay = 0)# weights: 51
initial value 40.117684
iter 10 value 0.280451
iter 20 value 0.181734
iter 30 value 0.155737
iter 40 value 0.127776
iter 50 value 0.041254
iter 60 value 0.016047
iter 70 value 0.013029
iter 80 value 0.009815
iter 90 value 0.006490
iter 100 value 0.004572
final value 0.004572
stopped after 100 iterations
# plot
par(mar = numeric(4))
plotnet(mod)
