我有一个看起来像这样的数据集:
Column 1 Column 2 Column 3 Column 4
Male 35 USA DC
Female 10 USA NYC
我汇总了此数据框,以计算每列中唯一值的数量以及行总数的相应百分比。
所以我的新数据框看起来像这样:
我有一个看起来像这样的数据框(这只是示例):
Column Name Nominal Percent
1 Col1 3 1.00
2 Col2 69333 99.51
3 Col3 65766 94.40
4 Col4 60727 87.16
我想要的第二个数据帧是创建第三列-样本模态。新列应该是每个列的样本。像这样:
Column Name Nominal Percent Sample_1
1 Col1 3 1.00 Male
2 Col2 69333 99.51 25
我不记得如何自动为每一列完成此操作。我不想手动键入每个列名。有提示吗?
答案 0 :(得分:1)
为了完整性。
数据,稍作修改以使其一致且对R友好(无空格):
#+PROPERTY: header-args :eval never-export
详细方法,使用临时origdat <- read.table(header=TRUE, stringsAsFactors=FALSE, text='
Column_1 Column_2 Column_3 Column_4
Male 35 USA DC
Female 10 USA NYC')
newdat <- read.table(header=TRUE, stringsAsFactors=FALSE, text='
Column_Name Nominal Percent
1 Column_1 3 1.00
2 Column_2 69333 99.51
3 Column_3 65766 94.40
4 Column_4 60727 87.16')
存储样本:
data.frame
将其与基本R合并:
set.seed(2)
tempdat <- data.frame(Column_Name = names(origdat),
Sample_1 = sapply(origdat, sample, size=1),
stringsAsFactors=FALSE)
与merge(newdat, tempdat, by="Column_Name", all=TRUE)
# Column_Name Nominal Percent Sample_1
# 1 Column_1 3 1.00 Male
# 2 Column_2 69333 99.51 10
# 3 Column_3 65766 94.40 USA
# 4 Column_4 60727 87.16 DC
合并:
dplyr