R语言新手求教:如何生成随机数并填入指定行列及变量(如A1、A'1)
R语言随机数生成与表格填充实操
一、生成随机数并存入特殊命名变量
R里变量名不能直接带单引号,得用**反引号()**把整个变量名包起来才能识别,比如A'1`这种名字就得这么写。下面是具体操作:
- 生成0-1之间的均匀随机数并存入变量:
# 生成单个均匀分布随机数(范围0-1) A1 <- runif(1) `A'1` <- runif(1) B1 <- runif(1) `B'1` <- runif(1) # 查看变量内容,直接输变量名即可 A1 `A'1`
- 如果要生成其他分布的随机数,比如均值为5、标准差为2的正态分布:
A1 <- rnorm(1) # 默认均值0,标准差1 `A'1` <- rnorm(1, mean=5, sd=2) # 自定义参数
二、生成数值填入指定表格
你给的示例是分类行+分类列的概率表格,用R的**数据框(data.frame)**处理最顺手,两种常用方式:
方式1:直接生成带随机值的表格
如果要生成符合概率逻辑(比如On Time+Late=1)的数值:
# 生成随机概率值 on_time <- runif(1, 0, 1) late <- 1 - on_time # 保证两者和为1 satisfied <- runif(1, 0, 1) not_satisfied <- 1 - satisfied # 创建表格并赋值 train_table <- data.frame( "On Time" = on_time, "Late" = late, "Satisfied" = satisfied, "Not satisfied" = not_satisfied, row.names = "Rapid Train" # 把行名设为Rapid Train ) # 打印表格 print(train_table)
方式2:先建空表格再填充指定位置
如果已经有现成的空表格,或者需要修改某一行某一列:
# 创建空表格,行名为Rapid Train train_table <- data.frame( "On Time" = NA, "Late" = NA, "Satisfied" = NA, "Not satisfied" = NA, row.names = "Rapid Train" ) # 填充指定行列:比如给Rapid Train的On Time列填随机数 train_table["Rapid Train", "On Time"] <- runif(1) # 填充Late列,确保和On Time相加为1 train_table["Rapid Train", "Late"] <- 1 - train_table["Rapid Train", "On Time"] # 填充满意度相关列 train_table["Rapid Train", "Satisfied"] <- runif(1) train_table["Rapid Train", "Not satisfied"] <- 1 - train_table["Rapid Train", "Satisfied"] # 查看结果 print(train_table)
内容的提问来源于stack exchange,提问作者Hafiz Suhaizal
相关产品推荐
相关产品推荐

