Hi @SaeedRehman, I think you might be better off skipping only one row, and doing it when you read the file from disk. This will let you use the second row as the column names, and also avoid the warning you're seeing about using factors as numbers.
Your data is getting read in as strings, not numbers, because there are non-numeric strings like "Fold change" and "p Value" in the cells. Then those strings are being auto-converted to factors. So your selection by <= or > aren't working either.
Try something like this:
install.packages("readxl")
library(readxl)
df <- read_excel("your-filename-here.xlsx", skip=1)
pos <- df[df$p.Value <= input$p_val & df$Fold.change > 0, ]
neg <- df[df$p.Value <= input$p_val & df$Fold.change < 0, ]
Those last two lines could be changed to something like this for readability if you desire:
pos <- subset(df, p.Value <= input$p_val & Fold.change > 0)
neg <- subset(df, p.Value <= input$p_val & Fold.change < 0)