Sí, ¡es tan simple! Una forma equivalente pero más explícita de especificar el mismo modelo que hiciste es la siguiente:
lm(Ventas ~ Precio + CompPrecio + Precio:CompPrecio, datos=Carseats)
El modelo subyacente ajustado por lm será:
Ventas = beta0 + beta1xPrecio + beta2xCompPrecio + beta3xPrecioxCompPrecio + epsilon (*)
El modelo (*) permite que el efecto del Precio en las Ventas dependa de CompPrecio:
Ventas = beta0 + (beta1 + beta3xCompPrecio)xPrecio + beta2xCompPrecio + epsilon
De hecho, la pendiente del Precio depende de CompPrecio.
El modelo (*) también permite que el efecto de CompPrecio en las Ventas dependa de Precio:
Ventas = beta0 + beta1xPrecio + (beta2 + beta3xPrecio)xCompPrecio + epsilon
Aquí, epsilon es un término de error desconocido (aleatorio) y se asume que Precio y CompPrecio son predictores continuos.