How you remove elements from a table depends on how you inserted them. A table is a very general data structure that provides a mapping from any data type to any data type.
For example, you could have an array of players where integers are the keys and players are the values {[1] = player1, [2] = player2, etc..}. Or, you could have a dictionary where player names are the keys and player objects are the values {'Bob' = player1, 'ZetaReticuli' = player2, etc..}.
If you want to remove an object by key:
myTable[key] = nil
If you want to remove an object by value:
function RemoveByValue(someTable, someValue)
for key, value in pairs(someTable) do
if value = someValue then
someTable[key] = nil
break
end
end
end
Only use table.insert and table.remove when you are dealing with arrays - tables whose key values (indices) are integers (1, 2, 3, 4, etc...).
You can remove all of the objects in a table thus:
for key in pairs(someTable)
someTable[key] = nil
end
If you would like further clarification please show how you insert objects into your survivor table.