Making string sets become a data frame sorted by group, containing sequence information
I am striving to make an organized data frame out of strings.
with this input
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
I hope to make a data frame which seems sort of Document Term Table having sequence information. However, I have no idea how to fulfill this. This is neither Document-Term Matrix nor just a data frame which can be made with the code below.
as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))))
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 I do not want to do this thing anymore
2 you do not know what I mean <NA> <NA>
3 I will not do this thing <NA> <NA> <NA>
4 do not want anymore <NA> <NA> <NA> <NA> <NA>
5 you will see <NA> <NA> <NA> <NA> <NA> <NA>
What I aim to make is this
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 <NA> I do <NA> not <NA> <NA> want to do this thing anymore <NA> <NA> <NA>
2 you <NA> do <NA> not <NA> know <NA> <NA> <NA> <NA> <NA> <NA> what I mean
3 <NA> I <NA> will not <NA> <NA> <NA> <NA> do this thing <NA> <NA> <NA> <NA>
4 <NA> <NA> do <NA> not <NA> <NA> want <NA> <NA> <NA> <NA> anymore <NA> <NA> <NA>
5 you <NA> <NA> will <NA> see <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
result = data.frame(V1=c(NA,"you",NA,NA,"you"),
V2=c("I",NA,"I",NA,NA),
V3=c("do","do",NA,"do",NA),
V4=c(NA,NA,"will",NA,"will"),
V5=c("not","not","not","not",NA),
V6=c(NA,NA,NA,NA,"see"),
V7=c(NA,"know",NA,NA,NA),
V8=c("want",NA,NA,"want",NA),
V9=c("to",NA,NA,NA,NA),
V10=c("do",NA,"do",NA,NA),
V11=c("this",NA,"this",NA,NA),
V12=c("thing",NA,"thing",NA,NA),
V13=c("anymore",NA,NA,"anymore",NA),
V14=c(NA,"what",NA,NA,NA),
V15=c(NA,"I",NA,NA,NA),
V16=c(NA,"mean",NA,NA,NA))
so that I can revert original string lists like this.
origin = do.call(paste, c(result, sep=" "))
origin = gsub('( NA|NA\s*)','',origin)
origin
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
r
add a comment |
I am striving to make an organized data frame out of strings.
with this input
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
I hope to make a data frame which seems sort of Document Term Table having sequence information. However, I have no idea how to fulfill this. This is neither Document-Term Matrix nor just a data frame which can be made with the code below.
as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))))
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 I do not want to do this thing anymore
2 you do not know what I mean <NA> <NA>
3 I will not do this thing <NA> <NA> <NA>
4 do not want anymore <NA> <NA> <NA> <NA> <NA>
5 you will see <NA> <NA> <NA> <NA> <NA> <NA>
What I aim to make is this
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 <NA> I do <NA> not <NA> <NA> want to do this thing anymore <NA> <NA> <NA>
2 you <NA> do <NA> not <NA> know <NA> <NA> <NA> <NA> <NA> <NA> what I mean
3 <NA> I <NA> will not <NA> <NA> <NA> <NA> do this thing <NA> <NA> <NA> <NA>
4 <NA> <NA> do <NA> not <NA> <NA> want <NA> <NA> <NA> <NA> anymore <NA> <NA> <NA>
5 you <NA> <NA> will <NA> see <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
result = data.frame(V1=c(NA,"you",NA,NA,"you"),
V2=c("I",NA,"I",NA,NA),
V3=c("do","do",NA,"do",NA),
V4=c(NA,NA,"will",NA,"will"),
V5=c("not","not","not","not",NA),
V6=c(NA,NA,NA,NA,"see"),
V7=c(NA,"know",NA,NA,NA),
V8=c("want",NA,NA,"want",NA),
V9=c("to",NA,NA,NA,NA),
V10=c("do",NA,"do",NA,NA),
V11=c("this",NA,"this",NA,NA),
V12=c("thing",NA,"thing",NA,NA),
V13=c("anymore",NA,NA,"anymore",NA),
V14=c(NA,"what",NA,NA,NA),
V15=c(NA,"I",NA,NA,NA),
V16=c(NA,"mean",NA,NA,NA))
so that I can revert original string lists like this.
origin = do.call(paste, c(result, sep=" "))
origin = gsub('( NA|NA\s*)','',origin)
origin
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
r
add a comment |
I am striving to make an organized data frame out of strings.
with this input
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
I hope to make a data frame which seems sort of Document Term Table having sequence information. However, I have no idea how to fulfill this. This is neither Document-Term Matrix nor just a data frame which can be made with the code below.
as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))))
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 I do not want to do this thing anymore
2 you do not know what I mean <NA> <NA>
3 I will not do this thing <NA> <NA> <NA>
4 do not want anymore <NA> <NA> <NA> <NA> <NA>
5 you will see <NA> <NA> <NA> <NA> <NA> <NA>
What I aim to make is this
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 <NA> I do <NA> not <NA> <NA> want to do this thing anymore <NA> <NA> <NA>
2 you <NA> do <NA> not <NA> know <NA> <NA> <NA> <NA> <NA> <NA> what I mean
3 <NA> I <NA> will not <NA> <NA> <NA> <NA> do this thing <NA> <NA> <NA> <NA>
4 <NA> <NA> do <NA> not <NA> <NA> want <NA> <NA> <NA> <NA> anymore <NA> <NA> <NA>
5 you <NA> <NA> will <NA> see <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
result = data.frame(V1=c(NA,"you",NA,NA,"you"),
V2=c("I",NA,"I",NA,NA),
V3=c("do","do",NA,"do",NA),
V4=c(NA,NA,"will",NA,"will"),
V5=c("not","not","not","not",NA),
V6=c(NA,NA,NA,NA,"see"),
V7=c(NA,"know",NA,NA,NA),
V8=c("want",NA,NA,"want",NA),
V9=c("to",NA,NA,NA,NA),
V10=c("do",NA,"do",NA,NA),
V11=c("this",NA,"this",NA,NA),
V12=c("thing",NA,"thing",NA,NA),
V13=c("anymore",NA,NA,"anymore",NA),
V14=c(NA,"what",NA,NA,NA),
V15=c(NA,"I",NA,NA,NA),
V16=c(NA,"mean",NA,NA,NA))
so that I can revert original string lists like this.
origin = do.call(paste, c(result, sep=" "))
origin = gsub('( NA|NA\s*)','',origin)
origin
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
r
I am striving to make an organized data frame out of strings.
with this input
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
I hope to make a data frame which seems sort of Document Term Table having sequence information. However, I have no idea how to fulfill this. This is neither Document-Term Matrix nor just a data frame which can be made with the code below.
as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))))
V1 V2 V3 V4 V5 V6 V7 V8 V9
1 I do not want to do this thing anymore
2 you do not know what I mean <NA> <NA>
3 I will not do this thing <NA> <NA> <NA>
4 do not want anymore <NA> <NA> <NA> <NA> <NA>
5 you will see <NA> <NA> <NA> <NA> <NA> <NA>
What I aim to make is this
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16
1 <NA> I do <NA> not <NA> <NA> want to do this thing anymore <NA> <NA> <NA>
2 you <NA> do <NA> not <NA> know <NA> <NA> <NA> <NA> <NA> <NA> what I mean
3 <NA> I <NA> will not <NA> <NA> <NA> <NA> do this thing <NA> <NA> <NA> <NA>
4 <NA> <NA> do <NA> not <NA> <NA> want <NA> <NA> <NA> <NA> anymore <NA> <NA> <NA>
5 you <NA> <NA> will <NA> see <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
result = data.frame(V1=c(NA,"you",NA,NA,"you"),
V2=c("I",NA,"I",NA,NA),
V3=c("do","do",NA,"do",NA),
V4=c(NA,NA,"will",NA,"will"),
V5=c("not","not","not","not",NA),
V6=c(NA,NA,NA,NA,"see"),
V7=c(NA,"know",NA,NA,NA),
V8=c("want",NA,NA,"want",NA),
V9=c("to",NA,NA,NA,NA),
V10=c("do",NA,"do",NA,NA),
V11=c("this",NA,"this",NA,NA),
V12=c("thing",NA,"thing",NA,NA),
V13=c("anymore",NA,NA,"anymore",NA),
V14=c(NA,"what",NA,NA,NA),
V15=c(NA,"I",NA,NA,NA),
V16=c(NA,"mean",NA,NA,NA))
so that I can revert original string lists like this.
origin = do.call(paste, c(result, sep=" "))
origin = gsub('( NA|NA\s*)','',origin)
origin
[1] "I do not want to do this thing anymore" "you do not know what I mean"
[3] "I will not do this thing" "do not want anymore"
[5] "you will see"
r
r
asked Nov 14 '18 at 3:26
RcodingRcoding
12911
12911
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Please find below code and let me know if this serves your purpose, just the order of words is different in the output data frame from yours
library(stringi)
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
tf = as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))),stringsAsFactors = F)
strs = unlist(strsplit(as.character(text),' '))
fstrs = unique(strs)
fdf = data.frame(matrix(ncol = length(fstrs),nrow = 0))
names(fdf) = fstrs
log_out = data.frame()
for(i in 1:nrow(tf))
log = as.data.frame(t(names(fdf)[ifelse((names(fdf) %in% as.character(tf[i,])) == F,NA,T)]))
log_out = rbind(log_out,log)
And the output will be
log_out
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 I do not want to this thing anymore <NA> <NA> <NA> <NA> <NA> <NA>
2 I do not <NA> <NA> <NA> <NA> <NA> you know what mean <NA> <NA>
3 I do not <NA> <NA> this thing <NA> <NA> <NA> <NA> <NA> will <NA>
4 <NA> do not want <NA> <NA> <NA> anymore <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> you <NA> <NA> <NA> will see
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292752%2fmaking-string-sets-become-a-data-frame-sorted-by-group-containing-sequence-info%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Please find below code and let me know if this serves your purpose, just the order of words is different in the output data frame from yours
library(stringi)
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
tf = as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))),stringsAsFactors = F)
strs = unlist(strsplit(as.character(text),' '))
fstrs = unique(strs)
fdf = data.frame(matrix(ncol = length(fstrs),nrow = 0))
names(fdf) = fstrs
log_out = data.frame()
for(i in 1:nrow(tf))
log = as.data.frame(t(names(fdf)[ifelse((names(fdf) %in% as.character(tf[i,])) == F,NA,T)]))
log_out = rbind(log_out,log)
And the output will be
log_out
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 I do not want to this thing anymore <NA> <NA> <NA> <NA> <NA> <NA>
2 I do not <NA> <NA> <NA> <NA> <NA> you know what mean <NA> <NA>
3 I do not <NA> <NA> this thing <NA> <NA> <NA> <NA> <NA> will <NA>
4 <NA> do not want <NA> <NA> <NA> anymore <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> you <NA> <NA> <NA> will see
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
add a comment |
Please find below code and let me know if this serves your purpose, just the order of words is different in the output data frame from yours
library(stringi)
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
tf = as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))),stringsAsFactors = F)
strs = unlist(strsplit(as.character(text),' '))
fstrs = unique(strs)
fdf = data.frame(matrix(ncol = length(fstrs),nrow = 0))
names(fdf) = fstrs
log_out = data.frame()
for(i in 1:nrow(tf))
log = as.data.frame(t(names(fdf)[ifelse((names(fdf) %in% as.character(tf[i,])) == F,NA,T)]))
log_out = rbind(log_out,log)
And the output will be
log_out
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 I do not want to this thing anymore <NA> <NA> <NA> <NA> <NA> <NA>
2 I do not <NA> <NA> <NA> <NA> <NA> you know what mean <NA> <NA>
3 I do not <NA> <NA> this thing <NA> <NA> <NA> <NA> <NA> will <NA>
4 <NA> do not want <NA> <NA> <NA> anymore <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> you <NA> <NA> <NA> will see
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
add a comment |
Please find below code and let me know if this serves your purpose, just the order of words is different in the output data frame from yours
library(stringi)
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
tf = as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))),stringsAsFactors = F)
strs = unlist(strsplit(as.character(text),' '))
fstrs = unique(strs)
fdf = data.frame(matrix(ncol = length(fstrs),nrow = 0))
names(fdf) = fstrs
log_out = data.frame()
for(i in 1:nrow(tf))
log = as.data.frame(t(names(fdf)[ifelse((names(fdf) %in% as.character(tf[i,])) == F,NA,T)]))
log_out = rbind(log_out,log)
And the output will be
log_out
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 I do not want to this thing anymore <NA> <NA> <NA> <NA> <NA> <NA>
2 I do not <NA> <NA> <NA> <NA> <NA> you know what mean <NA> <NA>
3 I do not <NA> <NA> this thing <NA> <NA> <NA> <NA> <NA> will <NA>
4 <NA> do not want <NA> <NA> <NA> anymore <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> you <NA> <NA> <NA> will see
Please find below code and let me know if this serves your purpose, just the order of words is different in the output data frame from yours
library(stringi)
text = c('I do not want to do this thing anymore','you do not know what I mean','I will not do this thing','do not want anymore','you will see')
tf = as.data.frame(t(stri_list2matrix(strsplit(as.character(text),' '))),stringsAsFactors = F)
strs = unlist(strsplit(as.character(text),' '))
fstrs = unique(strs)
fdf = data.frame(matrix(ncol = length(fstrs),nrow = 0))
names(fdf) = fstrs
log_out = data.frame()
for(i in 1:nrow(tf))
log = as.data.frame(t(names(fdf)[ifelse((names(fdf) %in% as.character(tf[i,])) == F,NA,T)]))
log_out = rbind(log_out,log)
And the output will be
log_out
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14
1 I do not want to this thing anymore <NA> <NA> <NA> <NA> <NA> <NA>
2 I do not <NA> <NA> <NA> <NA> <NA> you know what mean <NA> <NA>
3 I do not <NA> <NA> this thing <NA> <NA> <NA> <NA> <NA> will <NA>
4 <NA> do not want <NA> <NA> <NA> anymore <NA> <NA> <NA> <NA> <NA> <NA>
5 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> you <NA> <NA> <NA> will see
answered Nov 14 '18 at 6:34
Sai Prabhanjan ReddySai Prabhanjan Reddy
32919
32919
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
add a comment |
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Unfortunately, it can not handle second one - 'you do not know what I mean'. It is cool, though.
– Rcoding
Nov 14 '18 at 6:40
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Your expectation is that words to be split in existing order from each sentence with repetition of words? If so, any other rule you wanna add here like when this repetition should stop?
– Sai Prabhanjan Reddy
Nov 14 '18 at 7:16
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
Well... The rule is also the part of what I am looking for. It is really perplexing.
– Rcoding
Nov 14 '18 at 8:05
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53292752%2fmaking-string-sets-become-a-data-frame-sorted-by-group-containing-sequence-info%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown