I have a df in which several features describe one word. For further analysis I need all features below each other, including the described word. I guess an example will make it easier to understand:
df <- data.frame(a = c(1:4), feature1 = c("word1", "word2", "word3", "word4"), feature2 = c("a", "b", "c", "d"), inputword = c("this", "that", "this2", "that2"))
df
a feature1 feature2 inputword
1 1 word1 a this
2 2 word2 b that
3 3 word3 c this2
4 4 word4 d that2
Now I would need every feature in one column including the inputword info and a. Expected output:
a feature2 inputword
1 1 word1 this
2 2 word2 that
3 3 word3 this2
4 4 word4 that2
5 1 a this
6 2 b that
7 3 c this2
8 4 d that2
I found a way to get to my expected output by creating single dataframe and then rbind.data.frame
them. However in the original data set I have up to 18 features, so creating single data frames like below seems very inefficient.
The way I made it worked:
df1 <- df[ , -c(3)]
df2 <- df[ , -c(2)]
colnames(df1)=colnames(df2)
df_all <- rbind.data.frame(df1, df2)
df_all
a feature2 inputword
1 1 word1 this
2 2 word2 that
3 3 word3 this2
4 4 word4 that2
5 1 a this
6 2 b that
7 3 c this2
8 4 d that2
Maybe someone can help me with a more efficient way to get what I want?
Thank you in advance!