Write a code snippet in R to transpose a wide dataset into a long format.
Implement the equivalent transformation for a list of records represented as dictionaries. Preserve identifier values, emit one record per selected value column, and process input rows and value columns in their original order. Return the transformed records with keys for the identifiers, the original column name, and its value.
def wide_to_long(rows, id_columns, value_columns):