df <- data.frame(x=c(1,2,1,2,3,3), y = c(letters[1:5],'a'), val = c(1:5, 9))
print(df)
x y val
1 a 1
2 b 2
1 c 3
2 d 4
3 e 5
3 a 9
Я хочу создать функцию fun(df, rowname, colname, valname)
, которая принимает dataframe, rowname, ColName и входы значений и возвращает data.frame или матрицу с именами строк, имена столбцов и значения как нижереорганизовать data.frame в табулирования значений
fun(df, "x","y","val") should return
1 2 3
a 1 NA 9
b NA 2 NA
c 3 NA NA
d NA 4 NA
e NA NA 5
Посмотрите на пакет reshape2, функция '' cast' и melt' может быть то, что вы ищете. – Bastien
библиотека (dplyr); spread (df, x, val) – user127649