赞
踩
1.数据框的创建 data.frame()
cash=data.frame(company = c("A", "A", "B"), cash_flow = c(100, 200, 300), year = c(1, 3, 2))
或者:
company <- c("A", "A", "B")
cash_flow <- c(100, 200, 300)
year <- c(1, 3, 2)
cash=data.frame(company, cash_flow, year)
cash
运行结果:
company cash_flow year
1 A 100 1
2 A 200 3
3 B 300 2
2. head()和tail()函数访问数据的首末行
head()
返回数据框的前几行。默认情况下是6。若要更改此,请使用 head(数据, n = ___)。
tail()
返回数据框的最后几行。默认情况下是6。若要更改此,请使用tail(数据, n = ___)。
str()
检查一个物体的结构。这个奇妙的函数将显示您传入的对象的数据类型(在这里是数据.框架),并列出每个列变量及其数据类型。
> head(cash,4) company cash_flow year 1 A 1000 1 2 A 4000 3 3 A 550 4 4 B 1500 1 > tail(cash,4) company cash_flow year 4 B 1500 1 5 B 1100 2 6 B 750 4 7 B 6000 5 > str(cash) 'data.frame': 7 obs. of 3 variables: $ company : Factor w/ 2 levels "A","B": 1 1 1 2 2 2 2 $ cash_flow: num 1000 4000 550 1500 1100 750 6000 $ year : num 1 3 4 1 2 4 5
> names(cash)[1:3] <- c('comp','cash','yr') > cash comp cash yr 1 A 1000 1 2 A 4000 3 3 A 550 4 4 B 1500 1 5 B 1100 2 6 B 750 4 7 B 6000 5 > names(cash)[1] <- c('company') > cash company cash yr 1 A 1000 1 2 A 4000 3 3 A 550 4 4 B 1500 1 5 B 1100 2 6 B 750 4 7 B 6000 5 > colnames(cash) <- c('company','cash_flow','year') > cash company cash_flow year 1 A 1000 1 2 A 4000 3 3 A 550 4 4 B 1500 1 5 B 1100 2 6 B 750 4 7 B 6000 5
4. 访问和子集化数据框
#(1) [ ] 形式访问 > cash company cash_flow year 1 A 1000 1 2 A 4000 3 3 A 550 4 4 B 1500 1 5 B 1100 2 6 B 750 4 7 B 6000 5 > cash[1,] #第一行 company cash_flow year 1 A 1000 1 > cash[,1] #第一列 [1] A A A B B B B Levels: A B > cash[,'company'] [1] A A A B B B B Levels: A B # step 1.使用[]提取cash中的第三行,第二列 cash[3,2] # step 2.使用[]提取cash中的year的第五行 cash[5,'year'] #(2)$ 形式访问 > cash$cash_flow #访问cash_flow列 [1] 1000 4000 550 1500 1100 750 6000 #他等价于 >cash[,"cash_flow"] [1] 1000 4000 550 1500 1100 750 6000 #可以通过指定NULL来删除列。运行代码来删除company。 >cash$company <- NULL >cash cash_flow year 1 1000 1 2 4000 3 3 550 4 4 1500 1 5 1100 2 6 750 4 7 6000 5 #(3) subset( )访问 > subset(cash, company == "A") company cash_flow year 1 A 1000 1 2 A 4000 3 3 A 550 4
5. 增加新列
> # step 1.四分之一现金流添加到数据框
> cash$quarter_cash <- cash$cash_flow *1/4
> # step 2.双倍年数回收你的钱到数据框
> cash$double_year <- cash$year *2
> cash
company cash_flow year quarter_cash double_year
1 A 1000 1 250.0 2
2 A 4000 3 1000.0 6
3 A 550 4 137.5 8
4 B 1500 1 375.0 2
5 B 1100 2 275.0 4
6 B 750 4 187.5 8
7 B 6000 5 1500.0 10
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。