Skip to content

Instantly share code, notes, and snippets.

View soumyaray's full-sized avatar

Soumya Ray soumyaray

View GitHub Profile
@soumyaray
soumyaray / seminr_unstandardize_scores.R
Created March 20, 2021 05:06
Unstandardizes construct scores of an estimated SEMinR model
# Unstandardizes construct scores of an estimated SEMinR model
# (Based on rescale function of plspm)
# usage:
# my_model <- estimate_pls(...)
# ustd <- unstandardize(my_model)
unstandardize_scores <- function(pls_model) {
construct_names <- seminr:::construct_names(pls_model$smMatrix)
construct_names -> .
sapply(., seminr:::items_of_construct, model=pls_model) -> .
@soumyaray
soumyaray / seminr_singular_error_test.R
Last active June 28, 2020 02:40
Simulating singular matrix error in SEMinR
library(seminr)
comp1_items <- multi_items("IMAG", 1:5)
comp2_items <- multi_items("CUEX", 1:3)
comp3_items <- multi_items("CUSA", 1:3)
mobi_mm <- constructs(
# Three first-order composites
composite("Comp1", comp1_items),
composite("Comp2", comp2_items),
library(seminr)
image_items <- multi_items("IMAG", 1:5)
exp_items <- multi_items("CUEX", 1:3)
items <- c(image_items, exp_items)
almost_items <- items[-1]
eca_mm <- constructs(
@soumyaray
soumyaray / regression_plotting.R
Created April 28, 2018 07:00
Interactive and standalone regression plotting
# plot_regr_rsq(points) plots points and regression
#
# You can supply the following parameter:
# points - dataframe of x,y points to plot
plot_regr_rsq <- function(points) {
if (nrow(points) == 0) {
plot(NA, xlim=c(-5,50), ylim=c(-5,50), xlab="x", ylab="y")
return()
}
plot(points, xlim=c(-5,50), ylim=c(-5,50), pch=19, cex=2, col="gray")
@soumyaray
soumyaray / orison.rb
Created March 16, 2018 09:41
Orison Ruby Q&A
# OOP
module Scrambler
def scramble
json_output = to_json
json_output.chars.sample(json_output.length).join
end
end
class Student
include Scrambler
@soumyaray
soumyaray / suggestions.R
Created March 15, 2018 04:35
Suggestions for Travis — privacy document analysis ETL flow
docs <- c("OECD", "GDPR", "FTC")
# Functions to create:
pdf_to_df <- function(doc_name) {
filename <- paste(doc_name, ".txt")
#...return a dataframe
data.frame()
}
create_bigrams <- function(doc_df) { data.frame() }
@soumyaray
soumyaray / repominer_api_library.rb
Created March 22, 2017 03:04
some refactoring ideas for repominer api library code
base_url = "http://api.githbub.com/v1"
def commits_history
repo_username = "leoli0320"
repo_name = "my_fav_repo"
api_endpoint = [base_url, repo_username, repo_name, 'commits'].join('/')
req_params = {}
@soumyaray
soumyaray / confidence_intervals.R
Created March 1, 2017 06:29
Confidence Intervals Demonstration in R
# Visualize the confidence intervals of samples drawn from a population
# e.g.,
# visualize_sample_ci(sample_size=300, distr_func=rnorm, mean=50, sd=10)
# visualize_sample_ci(sample_size=300, distr_func=runif, min=17, max=35)
visualize_sample_ci <- function(num_samples = 100, sample_size = 100,
pop_size=10000, distr_func=rnorm, ...) {
# Simulate a large population
population_data <- distr_func(pop_size, ...)
pop_mean <- mean(population_data)
pop_sd <- sd(population_data)
require 'dry-monads'
include Dry::Monads::Maybe::Mixin
@soumyaray
soumyaray / search_method.rb
Last active November 6, 2016 13:24
SOA2016 - Search Method
## Original method
# def type_of_result(search_type, search)
# search_hash = {}
# search.each do |key, song|
# case search_type
# when 'tracks' then search_hash[song.track_name] = key
# when 'artists' then search_hash[song.track_name] = song.artist_name
# when 'albums' then search_hash[song.track_name] = song.album_name
# when 'links' then search_hash[song.track_name] = song.track_link
# when 'images' then search_hash[song.track_name] = song.imgs