如何在R中随机化CSV文件?
我对R比较陌生,我正在尝试找出如何获取包含单词列表的csv并将其随机化。我需要创建一个对象的地图,我想知道如何用我的列表随机填充地图,或者简单地随机填充列表,这样我就可以随机填充地图。我可以使用什么命令来执行此操作?使用如何在R中随机化CSV文件?,r,csv,R,Csv,我对R比较陌生,我正在尝试找出如何获取包含单词列表的csv并将其随机化。我需要创建一个对象的地图,我想知道如何用我的列表随机填充地图,或者简单地随机填充列表,这样我就可以随机填充地图。我可以使用什么命令来执行此操作?使用sample()函数来洗牌CSV文件中的行(data.frame)或洗牌对象的向量 输入 如果输入CSV文件有多行 Test <- read.table("MapTest.csv", header = FALSE, sep = ",") Test # V1
sample()
函数来洗牌CSV文件中的行(data.frame
)或洗牌对象的向量
输入
如果输入CSV文件有多行
Test <- read.table("MapTest.csv", header = FALSE, sep = ",")
Test
# V1 V2 V3
# 1 Heaven Air Flower
# 2 Earth Lily Jazz
# 3 Hell Dance Tennis
# 4 Sweet Sour Bitter
dim(Test)
# [1] 4 3
洗牌后选择2行
将CSV文件中的行数混洗后选择2行。多次运行它将导致每次产生不同的2行
Test[sample(1:nrow(Test), 2),]
# V1 V2 V3
# 4 Sweet Sour Bitter
# 1 Heaven Air Flower
Test[sample(1:nrow(Test), 2),]
# V1 V2 V3
# 4 Sweet Sour Bitter
# 3 Hell Dance Tennis
洗牌多行CSV文件中每行的对象
lapply(1:nrow(Test), function(x) sample(Test[x,]))
# [[1]]
# V1 V3 V2
# 1 Heaven Flower Air
#
# [[2]]
# V3 V2 V1
# 2 Jazz Lily Earth
#
# [[3]]
# V2 V3 V1
# 3 Dance Tennis Hell
#
# [[4]]
# V3 V1 V2
# 4 Bitter Sweet Sour
sample(Map_vec)
# [1] "Flower" "Sky" "Heaven" "Air" "Hell" "Water"
sample(Map_vec)
# [1] "Water" "Heaven" "Sky" "Hell" "Air" "Flower"
输入
如果输入有1行:以逗号分隔的对象
Test <- read.table("MapTest.csv", header = FALSE, sep = ",")
dim(Test)
# [1] 1 12
Test
# V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12
# 1 Heaven Air Flower Earth Lily Jazz Hell Dance Tennis Sweet Sour Bitter
如果没有输入CSV文件
在R中创建对象的向量
Map_vec <- c("Hell","Heaven","Flower","Water","Air","Sky")
Map_vec
# [1] "Hell" "Heaven" "Flower" "Water" "Air" "Sky"
length(Map_vec)
# [1] 6
洗牌并从矢量中选择少量
sample(Map_vec, 3)
# [1] "Heaven" "Sky" "Hell"
sample(Map_vec, 3)
# [1] "Heaven" "Sky" "Air"
如果您将csv文件作为数据帧读取到R中(假设您的数据帧名为dat
),则可以按如下方式随机化行顺序:dat=dat[sample(1:nrow(dat)),]
是否要随机选择行?如果是这样,请使用help(“sample”)
选择行号,例如,inx
,然后选择rnd
sample(Map_vec)
# [1] "Flower" "Sky" "Heaven" "Air" "Hell" "Water"
sample(Map_vec)
# [1] "Water" "Heaven" "Sky" "Hell" "Air" "Flower"
sample(Map_vec, 3)
# [1] "Heaven" "Sky" "Hell"
sample(Map_vec, 3)
# [1] "Heaven" "Sky" "Air"