如何按行创建R数据帧
在练习中,我必须创建如下数据框:如何按行创建R数据帧,r,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) Name试试这个: df <- as.data.frame(rbind(Sam, Frank, Amy), string
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)
Name试试这个:
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
这里有一个使用transpose
和mget
nm1 <- c("Sam", "Frank", "Amy")
`row.names<-`(data.frame(setNames(lapply(data.table::transpose(mget(nm1)),
type.convert), c("Age", "Weight", "Sex"))), nm1)
Age Weight Sex
# Sam 22 150 M
# Frank 25 165 M
# Amy 26 120 F
nm1问题:c(22150,'M')
将数字转换为字符串:一个向量只能是一个数据“类”,因此逻辑
。虽然不是基本的R,但是有一个允许创建data.frame的行视图(尽管不是以您建议的特定方式)。您可以包括str(df)
的输出吗?我的猜测是,这将不是预期的(Age
和Weight
将是因子,而不是数字)。我明白你的意思,更新后,这应该可以工作,因为stringsafactors=FALSE已经完成,这个变量是字符(而不是因子),现在如果我们想要它作为因子,那么我们需要强制它为因子。抱歉,没有从您的第一个版本中捕获更改。你说得对。(不能说我曾经需要将某些东西转换为因子,所以我对它们有弹簧负载。)
df$Age <- as.integer(df$Age)
df$weight <- as.integer(df$weight)
df$Sex <- as.factor(df$Sex)
df <- data.frame(lapply(df, type.convert))
nm1 <- c("Sam", "Frank", "Amy")
`row.names<-`(data.frame(setNames(lapply(data.table::transpose(mget(nm1)),
type.convert), c("Age", "Weight", "Sex"))), nm1)
Age Weight Sex
# Sam 22 150 M
# Frank 25 165 M
# Amy 26 120 F