如何按行创建 R 数据框

Kro*_*war 5 r

在练习中,我必须创建一个像这样的数据框:

Name <- c("Sam","Frank","Amy")
Age <- c(22,25,26)
Weight <- c(150,165,120)
Sex <- c("M", "M", "F")
df <- data.frame (row.names = Name, Age, Weight, Sex) 
Run Code Online (Sandbox Code Playgroud)

所以基本上我创建列,然后基于这些列创建数据框。

如果我有以下向量并且我想创建相同的数据框怎么办?有办法吗?

Sam <- c(22,150, 'M')
Frank <- c(25, 165, 'M')
Amy <- c(26, 120, 'F')
Run Code Online (Sandbox Code Playgroud)

谢谢

San*_*Dey 4

尝试这个:

df <- as.data.frame(rbind(Sam, Frank, Amy), stringsAsFactors = FALSE)
names(df) <- c('Age' , 'weight', 'Sex')

df
      Age Weight Sex
Sam    22    150   M
Frank  25    165   M
Amy    26    120   F
Run Code Online (Sandbox Code Playgroud)

如果您担心变量的类型,您可以另外进行转换:

df$Age <- as.integer(df$Age)
df$weight <- as.integer(df$weight)
df$Sex <- as.factor(df$Sex)
Run Code Online (Sandbox Code Playgroud)

或者我们可以使用type.convert

df <- data.frame(lapply(df, type.convert))
Run Code Online (Sandbox Code Playgroud)