In this document we compute a three dimension Kernel Density Estimate as by https://www.rdocumentation.org/packages/misc3d/versions/0.8-4/topics/kde3d with a customisation of the DrawDensity3D https://www.rdocumentation.org/packages/VecStatGraphs3D/versions/1.6/topics/DrawDensity3D function.

First of all, we load the needed function (DibujarDensidad3D)

Then we load the required libraries

require(rgl)
require(VecStatGraphs3D)

We’re ready to load the files with coordinates

sh1<-read.csv("suelo_h1.csv",header=FALSE)
sh2<-read.csv("suelo_h2.csv",header=FALSE)
sh3<-read.csv("suelo_h3.csv",header=FALSE)
sh4<-read.csv("suelo_h4.csv",header=FALSE)
suh<-rbind(sh1,sh2,sh3,sh4)

Once libraries are files are in place, we can subset the files.

We begin with the faunal remains and LAYER H1

fauh<-subset(suh,suh[,6]==1)

FAUNAL REMAINS 3D DENSITY KERNEL FORTEA’S LAYER h

DibujarDensidad3D(fauh[,2:4])
axes3d()#This option is good to see on the document
text3d(1001.5,998.5,407.8,"FAUNAL REMAINS H",col=2)
writeOBJ("fauh_ejes.obj")#This is for exporting the obj file to the current directory
Object type(s) 'text' not handled
rglwidget(elementId = "plot3dfau")

POTTERY

cerh<-subset(suh,suh[,6]==2)

POTTERY 3D DENSITY KERNEL FORTEA’S LAYER h

DibujarDensidad3D(cerh[,2:4])
axes3d()#This option is good to see on the document
text3d(1001.5,998.5,407.8,"POTTERY SHERDS H",col=2)
writeOBJ("cerh_ejes.obj")#This is for exporting the obj file to the current directory
Object type(s) 'text' not handled
rglwidget(elementId = "plot3dcer")

FLINT 3D DENSITY KERNEL FORTEA’S LAYER h1

silh<-subset(suh,suh[,6]==3)
DibujarDensidad3D(silh[,2:4])
axes3d()#This option is good to see on the document
text3d(1001.5,998.5,407.8,"LITHICS H",col=2)
writeOBJ("silh_ejes.obj")#This is for exporting the obj file to the current directory
Object type(s) 'text' not handled
rglwidget(elementId = "plot3dsil")

MALACOFAUNA 3D DENSITY KERNEL FORTEA’S LAYER h1

malh<-subset(suh,suh[,6]==4)
DibujarDensidad3D(malh[,2:4])
axes3d()#This option is good to see on the document
text3d(1001.5,998.5,407.8,"MOLLUSCS H",col=2)
writeOBJ("malh1_ejes.obj")#This is for exporting the obj file to the current directory
Object type(s) 'text' not handled
rglwidget(elementId = "plot3dmal")

THAT’S ALL FOLKS

LS0tCnRpdGxlOiAiS2VybmVsIDNEIgphdXRob3I6ICJBZ3VzdMOtbiBEaWV6IENhc3RpbGxvIGFndXN0aW4uZGllekB1di5lcyIKZGF0ZTogIjlNYXksIDIwMTciCm91dHB1dDoKICBodG1sX25vdGVib29rOiBkZWZhdWx0CiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0CiAgd29yZF9kb2N1bWVudDogZGVmYXVsdAphbHdheXNfYWxsb3dfaHRtbDogeWVzCi0tLQpJbiB0aGlzIGRvY3VtZW50IHdlIGNvbXB1dGUgYSB0aHJlZSBkaW1lbnNpb24gS2VybmVsIERlbnNpdHkgRXN0aW1hdGUgYXMgYnkKaHR0cHM6Ly93d3cucmRvY3VtZW50YXRpb24ub3JnL3BhY2thZ2VzL21pc2MzZC92ZXJzaW9ucy8wLjgtNC90b3BpY3Mva2RlM2QKd2l0aCBhIGN1c3RvbWlzYXRpb24gb2YgdGhlIERyYXdEZW5zaXR5M0QgaHR0cHM6Ly93d3cucmRvY3VtZW50YXRpb24ub3JnL3BhY2thZ2VzL1ZlY1N0YXRHcmFwaHMzRC92ZXJzaW9ucy8xLjYvdG9waWNzL0RyYXdEZW5zaXR5M0QgZnVuY3Rpb24uCgpGaXJzdCBvZiBhbGwsIHdlIGxvYWQgdGhlIG5lZWRlZCBmdW5jdGlvbiAoRGlidWphckRlbnNpZGFkM0QpCmBgYHtyfQpzb3VyY2UoJ0RpYnVqYXJEZW5zaWRhZDNELlInLCBjaGRpciA9IFRSVUUpCmBgYApUaGVuIHdlIGxvYWQgdGhlIHJlcXVpcmVkIGxpYnJhcmllcwpgYGB7cn0KcmVxdWlyZShyZ2wpCnJlcXVpcmUoVmVjU3RhdEdyYXBoczNEKQpgYGAKCldlJ3JlIHJlYWR5IHRvIGxvYWQgdGhlIGZpbGVzIHdpdGggY29vcmRpbmF0ZXMKYGBge3J9CnNoMTwtcmVhZC5jc3YoInN1ZWxvX2gxLmNzdiIsaGVhZGVyPUZBTFNFKQpzaDI8LXJlYWQuY3N2KCJzdWVsb19oMi5jc3YiLGhlYWRlcj1GQUxTRSkKc2gzPC1yZWFkLmNzdigic3VlbG9faDMuY3N2IixoZWFkZXI9RkFMU0UpCnNoNDwtcmVhZC5jc3YoInN1ZWxvX2g0LmNzdiIsaGVhZGVyPUZBTFNFKQpzdWg8LXJiaW5kKHNoMSxzaDIsc2gzLHNoNCkKYGBgCk9uY2UgbGlicmFyaWVzIGFyZSBmaWxlcyBhcmUgaW4gcGxhY2UsIHdlIGNhbiBzdWJzZXQgdGhlIGZpbGVzLgoKV2UgYmVnaW4gd2l0aCB0aGUgZmF1bmFsIHJlbWFpbnMgYW5kIExBWUVSIEgxCgpgYGB7cn0KZmF1aDwtc3Vic2V0KHN1aCxzdWhbLDZdPT0xKQpgYGAKRkFVTkFMIFJFTUFJTlMgM0QgREVOU0lUWSBLRVJORUwgRk9SVEVBJ1MgTEFZRVIgaApgYGB7cn0KRGlidWphckRlbnNpZGFkM0QoZmF1aFssMjo0XSkKYXhlczNkKCkjVGhpcyBvcHRpb24gaXMgZ29vZCB0byBzZWUgb24gdGhlIGRvY3VtZW50CnRleHQzZCgxMDAxLjUsOTk4LjUsNDA3LjgsIkZBVU5BTCBSRU1BSU5TIEgiLGNvbD0yKQp3cml0ZU9CSigiZmF1aF9lamVzLm9iaiIpI1RoaXMgaXMgZm9yIGV4cG9ydGluZyB0aGUgb2JqIGZpbGUgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CnJnbHdpZGdldChlbGVtZW50SWQgPSAicGxvdDNkZmF1IikKYGBgClBPVFRFUlkKYGBge3J9CmNlcmg8LXN1YnNldChzdWgsc3VoWyw2XT09MikKYGBgClBPVFRFUlkgM0QgREVOU0lUWSBLRVJORUwgRk9SVEVBJ1MgTEFZRVIgaApgYGB7cn0KRGlidWphckRlbnNpZGFkM0QoY2VyaFssMjo0XSkKYXhlczNkKCkjVGhpcyBvcHRpb24gaXMgZ29vZCB0byBzZWUgb24gdGhlIGRvY3VtZW50CnRleHQzZCgxMDAxLjUsOTk4LjUsNDA3LjgsIlBPVFRFUlkgU0hFUkRTIEgiLGNvbD0yKQp3cml0ZU9CSigiY2VyaF9lamVzLm9iaiIpI1RoaXMgaXMgZm9yIGV4cG9ydGluZyB0aGUgb2JqIGZpbGUgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CnJnbHdpZGdldChlbGVtZW50SWQgPSAicGxvdDNkY2VyIikKYGBgCkZMSU5UIDNEIERFTlNJVFkgS0VSTkVMIEZPUlRFQSdTIExBWUVSIGgxCmBgYHtyfQpzaWxoPC1zdWJzZXQoc3VoLHN1aFssNl09PTMpCmBgYApgYGB7cn0KRGlidWphckRlbnNpZGFkM0Qoc2lsaFssMjo0XSkKYXhlczNkKCkjVGhpcyBvcHRpb24gaXMgZ29vZCB0byBzZWUgb24gdGhlIGRvY3VtZW50CnRleHQzZCgxMDAxLjUsOTk4LjUsNDA3LjgsIkxJVEhJQ1MgSCIsY29sPTIpCndyaXRlT0JKKCJzaWxoX2VqZXMub2JqIikjVGhpcyBpcyBmb3IgZXhwb3J0aW5nIHRoZSBvYmogZmlsZSB0byB0aGUgY3VycmVudCBkaXJlY3RvcnkKcmdsd2lkZ2V0KGVsZW1lbnRJZCA9ICJwbG90M2RzaWwiKQpgYGAKTUFMQUNPRkFVTkEgM0QgREVOU0lUWSBLRVJORUwgRk9SVEVBJ1MgTEFZRVIgaDEKYGBge3J9Cm1hbGg8LXN1YnNldChzdWgsc3VoWyw2XT09NCkKYGBgCmBgYHtyfQpEaWJ1amFyRGVuc2lkYWQzRChtYWxoWywyOjRdKQpheGVzM2QoKSNUaGlzIG9wdGlvbiBpcyBnb29kIHRvIHNlZSBvbiB0aGUgZG9jdW1lbnQKdGV4dDNkKDEwMDEuNSw5OTguNSw0MDcuOCwiTU9MTFVTQ1MgSCIsY29sPTIpCndyaXRlT0JKKCJtYWxoMV9lamVzLm9iaiIpI1RoaXMgaXMgZm9yIGV4cG9ydGluZyB0aGUgb2JqIGZpbGUgdG8gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CnJnbHdpZGdldChlbGVtZW50SWQgPSAicGxvdDNkbWFsIikKYGBgClRIQVQnUyBBTEwgRk9MS1M=