(R语言)03 构造 Data Frame

03 构造 Data Frame

标签(空格分隔): R语言

1.用data.frame()函数来建立一个Data Frame,如:
Names <- c("Jane", "Sam", "Jose", "Amy") 
Ages <- c(42, 33, 39, 25) 
Locations <- factor(c("West", "West", "South", "South"))
#以上创建了几个向量,现在把它们组合成一个data frame。
EmpData <- data. frame(Name=Names, Age=Ages, Location=Locations)
print(EmpData)
#输出
    Name  Age   Location 
  1 Jane  42     West 
  2  Sam  33     West 
  3 Jose  39    South 
  4  Amy  25    South

同样是上面的例子,接下来试图调用data frame。

EmpData[1]
#输出一个列向量:
  Name 
1 Jane
2  Sam 
3 Jose 
4  Amy

或者

EmpData[,1]
#输出一个行向量
  Name Age Location 
1 Jane  42     West

或者,用列名或行名来调用一个方向上的数据也是OK的,比如使用:
EmpData[“Age”]就可以调用Age列的数据了。
同样,借助$也可以得到同样的结果,使用 EmpData$Age

2.查看data frame

当我们想查看某一个dataframe的时候,我们可以使用str()函数来显示这个dataframe,如:

str(EmpData)
#输出:
'data.frame':   4 obs. of  3 variables: 
$ Name    : chr  "Jane" "Sam" "Jose" "Amy" 
$ Age     : num  42 33 39 25 
$ Location: Factor w/ 2 levels "South","West": 2 2 1 1

也可以使用summary()函数来显示dataframe,如:

summary(EmpData)
#输出:
     Name                Age         Location 
Length:4           Min.   :25.00   South:2 
Class :character   1st Qu.:31.00   West :2 
Mode  :character   Median :36.00                   
                   Mean   :34.75                    
                   3rd Qu.:39.75                   
                   Max.   :42.00

3.调用子集和添加列

接下来,尝试下调用Data Frame的子集,比如,只调用Name与Age两组数据,则:

SubFrame <- data.frame(Name=EmpData$Name, Age=EmpData$Age)
#输出:
  Name Age 
1 Jane  42 
2  Sam  33 
3 Jose  39 
4  Amy  25

或者,通过行列的位置来调用,比如:

SubFrame <- EmpData[2:3]
#输出:
  Name Age Location 
2  Sam  33     West 
3 Jose  39    South

添加一个列呢,有以下列子:

HireDates <- as.Date(c("2001/10/15", "2012/05/30",   
        "2010/06/28", "2014/04/02")) 
EmpData$HireDate <- HireDates
#这样,就在EmpData中添加了HierDates这一项。

添加行向量。使用rbind()函数,如:

NewEmp <- data.frame(    
   Name = "Kerry",    
   Age = 51,    
   Location = "West",    
   HireDate = as.Date("2016/06/28"),    
   stringsAsFactors = FALSE)
   
EmpData <- rbind(EmpData, NewEmp)

#输出:
Name Age Location HireDate
1 Jane 42 West 2001-10-15
2 Sam 33 West 2012-05-30
3 Jose 39 South 2010-06-28
4 Amy 25 South 2014-04-02
5 Kerry 51 West 2016-06-28

顺带一提,$也是可以用于添加列向量的

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言可以通过一些函数和包来构造平衡面板数据。平衡面板数据指的是每个个体(例如个人、公司或地区)在每个时间点上都有观测值。以下是一个使用R语言构造平衡面板数据的示例: 首先,我们需要加载需要的R包,包括`tidyverse`和`plm`。可以使用以下命令加载: ```R library(tidyverse) library(plm) ``` 接下来,我们创建一个示例数据集,其中包括个体和时间的变量,以及一个感兴趣的特征变量。可以使用以下命令创建一个具有平衡面板结构的示例数据集: ```R # 创建个体和时间变量 individual <- rep(1:100, each = 10) time <- rep(1:10, times = 100) # 创建感兴趣的特征变量 feature <- runif(1000) # 创建数据框 data <- data.frame(individual, time, feature) ``` 现在我们的数据框`data`包含个体、时间和特征变量。接下来,我们可以使用`plm`包中的`pdata.frame()`函数将数据转换为平衡面板数据格式。可以使用以下命令: ```R # 转换为平衡面板数据格式 balanced_data <- pdata.frame(data, index = c('individual', 'time')) ``` 现在,`balanced_data`是一个平衡面板数据对象,可以使用`plm`包中的函数进行面板数据分析和建模。 以上是使用R语言构造平衡面板数据的基本步骤。根据实际情况,您可能需要对数据进行进一步的调整和处理,例如处理缺失值或重复观测。但是,以上示例提供了一个基本的框架,可以用来构造平衡面板数据并进行相关分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值