Python and R
数据科学家爱讨论Python和R谁是更好的数据分析语言。
- R:更适合专业学者,因为和Matlab很像。
- Python:更适合公司。
但是鉴于R语言有强大的可视化和统计功能,可以增强数据科学工作流以及帮助我们更有效的探索数据。
赋值(<-)
- R语言的赋值语句是起源于APL语言的
- 赋值是<-(x <- 3),而只有给函数的参数赋值时才用=(f(x = 3))
- 鉴于大家都习惯用=,2001年开始也可以用=进行赋值
- 但是鉴于代码共享,更多R语言工作习惯<-,以后我也用<-,尽管复杂点,并且Google Style Guide也推荐这个。
dogAwesomeness <- 10
catAwesomeness <- 9.5
打印(print or cat)
lifeSavings <- 9999
print(lifeSavings)
- output:
[1]9999
- cat函数是另外一种可以替代print的显示方式。它可以将多个对象连接并以连续的方式显示:
> cat("The zero occurs at", 2*pi, "radians.", "\n")
- output:
The zero occurs at 6.283185 radians.
变量类型(class)
R语言中常见的两个变量是character(text), and numeric(number)。
- 使用class(var)函数可以获取var的类型。
# Assign the value 800 to the variable runDistance.
runDistance <- 800
# This is of type "numeric".
print(class(runDistance))
# Assign the value "Peanut Butter Cup" to favoriteDessert
favoriteDessert <- "Peanut Butter Cup"
# This is of type "character", because it contains text.
print(class(favoriteDessert))
- output:
[1] “numeric”
[1] “character”
向量(Vectors)
1) c()函数来创建向量
# Store a vector of Russian presidents.
russianPresidents <- c("Mikhail Gorbachev", "Boris Yeltsin", "Vladimir Putin")
# Store a vector of stock prices on consecutive days.
applePrices <- c(113, 114, 115)
- 向量存储的数据的类型必须一致。当你将一个字符串和数字传给一个向量,最终数字会转换会字符类型。
mixedVector <- c("Fifteen", 15, 0)
# Everything in mixedVector is a character value.
print(mixedVector)
# mixedVector is of type character.
print(class(mixedVector))
- output :
[1] “Fifteen” “15” “0”
[1] “character”
2) identical(var1,var2)判断两个变量是否相等
R几乎将所有的数据都存储为向量形式,当我们创建单个变量a <-
1,R会将他存储为只含一个元素的向量(自动调用c(1))。这样使得所有变量都一样,方便处理。
dogCount <- 1
catCount <- c(1)
# We can see that these two assignments are identical. dogCount is a vector, as is catCount.
print(identical(dogCount, catCount))
- output:
[1] TRUE
3) 向量索引
- R向量的索引是从1开始的。
# Print the first element in salaries.
print(salaries[1])
# Print the 50th element in salaries
print(salaries[50])
- output
[1] 105960
[1] 50500
向量长度(length)
# Initialize the runDistances vector
runDistances <- c(20, 10.5, 30)
# Print the length of the vector.
print(length(runDistances))
- output:
[1] 3
加减乘除(+ - * /)
# Create a vector of stock prices.
stockPrices <- c(10, 9, 11, 15)
# This results in a new vector. See how every element has had 2 added to it.
# Every time you do math on a vector, it will change all the elements of the vector.
print(stockPrices + 2)
# But stockPrices is unaffected.
print(stockPrices)
output:
- [1] 12 11 13 17
- [1] 10 9 11 15
求助(help)
# Enter your code here.
help(class)