xrdml2df <- function(xfile,
xdir = "wd"
) {
require(stringr)
if(xdir == "wd") {
xdir <- getwd()
}
if(str_sub(xdir,-1,-1)!="/"){
xdir <- paste0(xdir,"/")
}
xrdmlRaw <- readLines(paste0(xdir, xfile))
twothet0 <- grep("2Theta", xrdmlRaw)
beg0 <- xrdmlRaw[twothet0 + 1]
beg0 <- gsub("\t\t\t\t\t", "", beg0)
beg0 <- gsub("", "", beg0)
beg0 <- as.numeric(beg0)
end0 <- xrdmlRaw[twothet0 + 2]
end0 <- gsub("\t\t\t\t\t", "", end0)
end0 <- gsub("", "", end0)
end0 <- as.numeric(end0)
c0 <- grep("', "", xrdmlRaw[c0])
xrdmlRaw[c0] <- gsub("", "", xrdmlRaw[c0])
counts <- as.numeric(unlist(strsplit(xrdmlRaw[c0], " ")))
counts2theta <-
data.frame(Angle = seq(beg0, end0, ((end0 - beg0) / (length(counts) - 1))),
Counts = counts)
rm(list = c("xrdmlRaw","twothet0","beg0","end0","c0","counts"))
return(counts2theta)
}