R语言处理数据——多组元素排列组合(全排列)

多组元素排列组合

有多组character需要进行排列组合,例如,我有多个基因,每个基因有三种基因型(aa, ab, bb),需要对它们进行排列组合,来计算组合后的基因型带来的风险值等等。代码如下:

require(utils)
library(permutations)
Sys.setlocale(category = "LC_ALL",locale = "Chinese")
all_data <- expand.grid(SL = c('GG','TG','TT'),
            IF= c('AA','GG','GA'),
            TM = c('AA','GG','GA'),
            C = c('TT','CT','CC'),
            CD = c('GG','AG','AA'),
            VD = c('AA','AG','GG'))
all_data$id <- as.numeric(rownames(all_data))+20230317000
all_data$sample_id <- as.numeric(rownames(all_data))+20230317000
all_data$project <- '检测(纸质版)'
all_data$taocan <- 'HXD001'
all_data$date <- as.Date('2023-03-17')
all_data$name <- paste0('测试样本',as.numeric(rownames(all_data)))
all_data$sex <- '男'
all_data$tel <- 'XXXXXXXXXXX'
all_data$birth <- as.Date('2002-02-21')
all_data$info <- 'info'

#输出中文需要添加:fileEncoding="GB18030"
write.csv(all_data,file = "测试样本信息.csv",fileEncoding = "GB18030")

输出结果

在这里插入图片描述

输出csv中文乱码解决

#输出中文需要添加:fileEncoding="GB18030"
write.csv(all_data,file = "测试样本信息.csv",fileEncoding = "GB18030")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
R语言中,我们可以使用`aggregate`函数来对数据框中的多个指标进行组合计数。 首先,我们可以使用`count`函数来计算每个指标的计数结果。该函数可以接受多个参数,其中第一个参数是要计数的数据框,后面的参数是要计数的变量。例如,假设我们有一个名为`df`的数据框,其中包含了三个指标`A`、`B`和`C`,我们可以使用以下代码计算它们的计数结果: ``` counts <- count(df, A, B, C) ``` 这将返回一个新的数据框`counts`,其中包含了每个指标组合的计数结果。 此外,如果我们想要根据某个指标对计数结果进行分组,我们可以使用`group_by`函数。例如,假设我们想要根据指标`A`对计数结果进行分组,我们可以使用以下代码: ``` grouped_counts <- counts %>% group_by(A) ``` 这将返回一个按照指标`A`进行分组的数据框`grouped_counts`。 最后,如果我们想要对计数结果进行排序,我们可以使用`arrange`函数。例如,假设我们想要按照指标`A`和`B`的升序对计数结果进行排序,我们可以使用以下代码: ``` sorted_counts <- counts %>% arrange(A, B) ``` 这将返回一个按照指标`A`和`B`进行排序的数据框`sorted_counts`。 综上所述,以上就是使用R语言数据框中多个指标进行组合计数的方法。我们可以使用`count`函数计算指标的计数结果,使用`group_by`函数对计数结果进行分组,使用`arrange`函数对计数结果进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值