r语言apply(R语言是数据可视化工具吗)
本篇文章给大家谈谈r语言apply,以及R语言是数据可视化工具吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、r语言如何求矩阵中某一列的总和
- 2、r语言中如何实现数据标准化(每一列的值除以该列均值)?
- 3、用R语言读取文本文件并求出每一列的最大值、最小值、中位值等,将其在屏幕中输?
- 4、R语言中的基本函数使用 - 更新中
r语言如何求矩阵中某一列的总和
设矩阵为A
方法一埋举:colSums(A)
方法二:apply(A,2,sum)
x-matrix(c(1,1,2,1,2,3,4,1),4,2)
x
[,1] [,2]
[1,] 1 2
[2,] 1 3
[3,] 2 4
[4,] 1 1
length(which((x[,1]==1)))
[1] 3
length(which((x[,2]==1)))
[1] 1
#x[,1]==1判断是否为1,返回True或False
# which((x[,1]==1))返回为True的行号
#length(which((x[,1]==1)))返回为True的行数,即1的个数
简正模式
矩阵在物理学中的另一类泛应用是描述线性耦合调和系统。这类系统的运动方程可以用矩阵的形式来表示,即用一个质量矩阵乘以一个广义速度来给出运动项,用谨铅力矩阵乘以位移向量来刻画相互作用。求系统的解的最优方法是将矩阵的特征向量求出(弯晌碧通过对角化等方式),称为系统的简正模式。
以上内容参考:百度百科-矩阵
[img]r语言中如何实现数据标准化(每一列的值除以该列均值)?
使用apply函数apply(mat, 2, function(x)x/(mean(x)))
测试运行结果:
ma - matrix(c(1:4, 1, 6:8), nrow = 2)
ma
[,1] [,2] [,3] [,4]
[1,] 1 3 1 7
[2,] 2 4 6 8
apply(ma, 2, function(x)x/(mean(x)))
[,1] [,2] [,3] [,4]
[1,] 0.6666667 0.8571429 0.2857143 0.9333333
[2,] 1.3333333 1.1428571 1.7142857 1.0666667
apply函数参数帮助。
apply(X, MARGIN, FUN, ...)
Arguments
X
an array, including a matrix.
MARGIN
a vector giving the subscripts which the function will be applied over. E.g., for a matrix 1 indicates rows, 2 indicates columns, c(1, 2) indicates rows and columns. Where X has named dimnames, it can be a character vector selecting dimension names.
FUN
the function to be applied: see ‘Details’. In the case of functions like +, %*%, etc., the function name must be backquoted or quoted.
...
optional arguments to FUN.
用R语言读取文本文件并求出每一列的最大值、最小值、中位值等,将其在屏幕中输?
首先,要使用 R 语言读取文本文件,你可以使用 read.table 函数燃森:
data - read.table("filename.txt", header = TRUE)
然皮改亩后,要求出每一列的最大值、最小值歼尘、中位值,你可以使用 apply 函数:
# Get the maximum value for each column
apply(data, 2, max)
# Get the minimum value for each column
apply(data, 2, min)
# Get the median for each column
apply(data, 2, median)
最后,将计算结果输出到屏幕,可以使用 print 函数:
print(result)
R语言中的基本函数使用 - 更新中
用法:assign(x, value, pos = -1, envir = as.environment(pos), inherits = FALSE, immediate = TRUE)
assign函数在循环时候,给变量赋值。
举例说明:
1、
for (i in 1:(length(rowSeq)-1)){
assign(paste("nginx_server_fields7_", i, sep = ""), nginx_server_fields7[(rowSeq[(i-1)+1]):(rowSeq[i+1]), ])
}
2、
for (i in 1:3){
assign(paste("a", i, sep = ""), i:10)
}
ls()
[1] "a1" "a2" "a3" "i"
a1
[1] 1 2 3 4 5 6 7 8 9 10
a2
[1] 2 3 4 5 6 7 8 9 10
a3
[1] 3 4 5 6 7 8 9 10
1、paste函数可用于字符串连接
用法:paste (..., sep = " ", collapse = NULL),分隔符默认为空格
我们简单举个例子
1)paste("a","b") ##能连接a b
[1] "a b"
paste("a","b","c")
[1] "a b c"
2)设置分隔符paste("a","b",sep="=") ##注意到用等号分隔了
[1] "a=b"
3)连接多个元素paste("a",1:5,sep="") ##会自动每个元素与a相连
[1] "a1""a2""a3""a4""a5"
4)paste("a",1:5,".pdf",sep="") ##比如想批量输出文件名
[1] "a1.pdf""a2.pdf""a3.pdf""a4.pdf""a5.pdf"、
2、collapse参数
谢益辉大佬说这个参源慎数引无数英雄竞折腰啊,大家只会sep
1)paste("a",1,collapse="+") ##注意到了吧,collapse没用上
[1] "a 1"
2)paste(c("a","b","c"),collapse="+") ##这样就很容易理解了,collapse折叠起了元素
[1] "a+b+c"
3)paste("a",1:5,sep="") ##再来更明显的举例
[1] "a1""a2""a3""a4""a5"
4)paste("a",1:5,sep="",collapse="+") ##先在元素间连接,然后折叠
[1] "a1+a2+a3+a4+a5"
3、与paste0函数的区别
paste0函数,默认sep=""是两个函数唯一的区别
paste(c("a","b","c"),1:3)##默认空格符
[1] "a 1""b 2""c 3"
paste(c("a","b","c"),1:3,sep="雹和敬 ")
[1] "a 1""b 2""c 3"
paste(c("a","b","c"),1:3,sep="")
[1] "a1""b2""c3"
如果两个向量长度不同paste(c("a","b","c"),1:5) ##超出范围后继续从前向后连接
[1] "a 1" "b 2" "c 3" "a 4" "b 5"
paste0(c("a","b","c"),1:3)#默认元素连接为sep=""
[1] "a1""b2""c3"
用法:unlist()函数的作用,就是将list结构的数据du,变zhi成非list的数据,即将list数据变成 字符串向量 或者数字向量的形式
如果是向量的话就直接输出向量
例子:
%in%相当于match()函数的一个缩写。用来判断一个数组或矩阵是否包含在另一个数组或矩阵里。举个例子一目了然:
#首先复制两个变量a和b
a - 1:5
b - 3:7
a %in% b #看a的元素是否包含在b中输出结果如下:
[1] FALSE FALSE TRUE TRUE TRUE
用法:apply(x, MARGIN, FUN, ...)
作用:对 矩阵 的行或列使用函数,或者对 数组 的各个维度使用函数
x为数据对象棚手,MARGIN是维度的下标,MARGIN=1表示行,MARGIN=2表示列,FUN是自己指定的任意或自定义函数
注:数据框dataframe也可以使用apply函数,该函数会自动将数据框转化为矩阵,但前提是数据框中各列的数据类型 必须是数值型,否则会报错。
用法:lapply(x,FUN,...)
作用:对列表中的各个元素使用函数
x是格式为列表的数据源,FUN是任意函数。
intersect(data1,data2):交集
union(data1,data2):并集
关于r语言apply和R语言是数据可视化工具吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。