# Using vectors
print(x <- (5 + rnorm(15)) * 10^11)
convert_to_power_of_ten(x, 6)
print(y <- convert_to_power_of_ten(x))
all.equal(x, convert_from_power_of_ten(y))
# Using data frames
## same exponent for all numeric columns
x <- (5 + rnorm(15)) * 10^11
df <- data.frame(x, y = x * 10^3, z = letters[seq_along(x)],
row.names = as.character(seq_along(x)))
x <- df_to_powers_of_ten(df)
str(x)
y <- df_from_powers_of_ten(x)
identical(df, y)
## individual exponents for different columns - but what for?
### automatically
### manually
df1 <- df
df1[["x"]] <- convert_to_power_of_ten(df1[["x"]])
df1[["y"]] <- convert_to_power_of_ten(df1[["y"]])
str(df1)
print(df2 <- df_from_powers_of_ten(df1))
identical(df, df2)
Run the code above in your browser using DataLab