x <-c(1,2,3)
y <-c(100,200,300)
x_name <- "cond"
y_name <- "rating"
require(reshape2)
df <- melt(data.frame(x,y))
colnames(df) <- c(x_name, y_name)
print(df)
UPDATE (7.02.2017): Jako odpowiedź na @cdaringe komentarz - istnieje wiele rozwiązań możliwe, jednym z nich jest niższa.
library(dplyr)
library(magrittr)
x <- c(1, 2, 3)
y <- c(100, 200, 300)
z <- c(1, 2, 3, 4, 5)
x_name <- "cond"
y_name <- "rating"
# Helper function to create data.frame for the chunk of the data
prepare <- function(name, value, xname = x_name, yname = y_name) {
data_frame(rep(name, length(value)), value) %>%
set_colnames(c(xname, yname))
}
bind_rows(
prepare("x", x),
prepare("y", y),
prepare("z", z)
)
wiesz jak by to zmienić, jeśli nie było również elementem takiego jak 'z <-c (1,2,3,4,5) '? wymiarowość jest inna, dlatego też ramka danych w tym rozwiązaniu nie bierze się za tworzenie. – cdaringe