####建立leadership資料框
manager <- c(1, 2, 3, 4, 5)
date <- c("10/24/08", "10/28/08", "10/1/08", "10/12/08", "5/1/09")
country <- c("us", "us", "uk", "uk", "uk")
gender <- c("m", "f", "f", "m", "f")
age <- c(32, 45, 25, 39, 99)
q1 <- c(5, 3, 3, 3, 2)
q2 <- c(4, 5, 5, 3, 2)
q3 <- c(5, 2, 5, 4, 1)
q4 <- c(5, 5, 5, na, 2)
q5 <- c(5, 5, 2, na, 1)
leadership <- data.frame(manager, date, country, gender, age,
q1, q2, q3, q4, q5,stringsasfactors = false)
####建立新變數
my_data <- data.frame(x1 = c(2, 2, 6, 4),
x2 = c(3, 4, 2, 8))
my_data <- transform(my_data,
sum_x = x1 + x2,
mean_x = (x1 + x2)/2)
my_data
####變數的重編碼
leadership
leadership$age[leadership$age == 99] <- na
leadership$age[leadership$age > 75] <- "elder"
leadership$age[leadership$age >= 55 &
leadership$age <= 75] <- "middle aged"
leadership$age[leadership$age < 55] <- "young"
#等價於
leadership <- within(leadership, )
####變數的重新命名
names(leadership)
names(leadership)[2] <- "test_date"
####缺失值
is.na(leadership[,c(6:10)])
#排除缺失值
x <- c(1, 2, na, 3)
y <- sum(x,na.rm = true)
(new_data <- na.omit(leadership))
####日期值
str_date <- c("01/05/1965", "08/16/1975")
(dates <- as.date(str_date, "%m/%d/%y"))
#計算時間間隔
today <- sys.date()
dob <- as.date("1990-8-30")
difftime(today, dob, units = "days")
####型別轉換
a <- c(1, 2, 3)
is.numeric(a)
is.character(a)
is.vector(a)
is.matrix(a)
is.data.frame(a)
is.factor(a)
is.logical(a)
####資料排序
with(leadership, )
####資料集的合併
#向資料框新增列
total <- merge(dataframe1,dataframe2, by=c("id", "country"))
#向資料框中新增行
total <- rbind(dataframe1, dataframe2)
####資料集取子集
#選入變數
my_vars <- c("q1", "q2")
(new_data <- leadership[my_vars])
#剔除變數
my_vars <- names(leadership) %in% c("q3", "q4")
(new_data <- leadership[!my_vars])
#最好的方法——subset()
new_data <- subset(leadership, age >= 35 | age < 24,
select = c(q1,q2))
new_data
#隨機抽樣
(my_sample <- leadership[sample(1:nrow(leadership), 3, replace = false),])
####使用sql語句運算元據框
library(sqldf)
(new_df <- sqldf("select * from mtcars where carb=1 order by mpg",
row.names=true))
R 基本資料管理
manager c 1,2,3,4,5 date c 10 24 08 10 28 08 10 1 08 10 12 08 5 1 09 country c us us uk uk uk gender c m f f m f age c 32,45,25,39,99 q1 c 5,3,3,3,2 q...
R語言實戰學習筆記(三)基本資料管理
在乙個資料框裡面加入新的變數的方法有三種,第一種是直接 引用新增,一種是用attach detach 第三種是用transform 函式。具體例子如下 mydata裡面已經存在x1和x2兩個變數 方法一 mydata sumx mydata x1 mydata x2 mydata meanx myd...
R語言 基本資料分析
本文基於r語言進行基本資料統計分析,包括基本作圖,線性擬合,邏輯回歸,bootstrap取樣和anova方差分析的實現及應用。不多說,直接上 中有注釋。1.基本作圖 盒圖,qq圖 basic plot boxplot x qqplot x,y 2.線性擬合 linear regression n 1...