在R及RStudio中基于已有数据创建数据框的方法(含选列示例)
1. 利用已有数据创建R语言数据框
下面是几种常用的创建方式:
- 从多个向量创建
如果有若干长度相同的向量,直接用data.frame()函数打包即可:
# 示例向量 name <- c("Alice", "Bob", "Charlie") age <- c(25, 30, 35) score <- c(85, 90, 78) # 创建数据框 df <- data.frame(Name = name, Age = age, Score = score)
注:R版本≥4.0时,字符向量默认保留原类型;旧版本需添加stringsAsFactors = FALSE参数避免转成因子。
- 从列表创建
若已有元素长度一致的列表,直接转换为数据框:
data_list <- list( Name = c("Alice", "Bob", "Charlie"), Age = c(25, 30, 35), Score = c(85, 90, 78) ) df <- as.data.frame(data_list)
- 从矩阵转换
矩阵数据可通过as.data.frame()转为数据框:
data_matrix <- matrix(c("Alice",25,85,"Bob",30,90,"Charlie",35,78), nrow=3, byrow=TRUE) colnames(data_matrix) <- c("Name", "Age", "Score") df <- as.data.frame(data_matrix, stringsAsFactors = FALSE)
2. 从数据集data1中选取6列创建新数据框df1
在RStudio中直接运行以下代码即可,提供几种常用选取方式:
- 按列名选取
已知目标列名称时,用方括号或dplyr包的select()函数:
# 假设目标列名为col1至col6 df1 <- data1[, c("col1", "col2", "col3", "col4", "col5", "col6")] # 用dplyr包的写法(需先安装加载) library(dplyr) df1 <- data1 %>% select(col1, col2, col3, col4, col5, col6)
- 按列索引选取
知道目标列在data1中的位置时,直接指定索引:
# 选取第2到第7列(共6列) df1 <- data1[, 2:7] # 或指定离散索引,比如第1、3、5、7、9、11列 df1 <- data1[, c(1,3,5,7,9,11)]
- 反向选取(排除不需要的列)
若仅需排除少数列,用负号标记排除项:
# 假设要排除第7、8列,剩余为6列(需data1总列数为8) df1 <- data1[, -c(7,8)]
内容的提问来源于stack exchange,提问作者mandana zooyousefin
相关产品推荐
相关产品推荐

