楼主: yu9954
5271 4

[有偿编程] R语言中for循环的使用 [推广有奖]

  • 0关注
  • 1粉丝

大专生

75%

还不是VIP/贵宾

-

威望
0
论坛币
820 个
通用积分
2.0765
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
660 点
帖子
35
精华
0
在线时间
50 小时
注册时间
2018-11-22
最后登录
2023-10-23

楼主
yu9954 发表于 2021-12-23 04:18:39 |AI写论文
20论坛币
有如下代码

v <- c("metformin","levothyroxine")
for ( i in v) {
  c=paste("SDH",i,"use",sep="_")
  d=as.name(c)
  SDH_med_use <- left_join(SDH_med_use,d,by='genc_id')
}

想产生SDH_metformin_use 这样的df的名称,这个df已经存在,再把这个dataframe跟SDH_med_use 合并,可是用这个code总是报错,我知道这个as.name(c)这里错了,可是不知道该怎么改, 想请教一下大神们到底怎么写这个code能达到这个目的
Error: `x` and `y` must share the same src, set `copy` = TRUE (may be slow).

最佳答案

szxship 查看完整内容

d=as.name(c) 改成 d = get(c) 建议这里的c换成别的,因为在R里c本身是一个函数
关键词:for循环 For R语言

沙发
szxship 发表于 2021-12-23 04:18:40
d=as.name(c)
改成
d = get(c)
建议这里的c换成别的,因为在R里c本身是一个函数

藤椅
yu9954 发表于 2021-12-24 04:06:51
szxship 发表于 2021-12-23 04:18
d=as.name(c)
改成
d = get(c)
v <- c("domperidone","donepezil")
for ( i in v) {
  medname=paste("SDH",i,sep="_")
  d=get(medname)

  medname_1 <- SDH_meds [grep (pattern=i,SDH_meds[,30]),]
  medname_2 <- SDH_meds [grep (pattern=i,SDH_meds[,31]),]
  d <- rbind(medname_1,medname_2)
  medname_id_1 <- d["genc_id"]
  medname_id <- unique(medname_id_1)
  
  medname_use <-medname_id
  medname_use$i <-1
}
我运行了上面的code, 即没有报错也没有运行,不知道这段code哪里出错了?谢谢大神指点

板凳
szxship 发表于 2021-12-24 20:57:45
yu9954 发表于 2021-12-24 04:06
v
这段代码看不出错误, 但你说的不运行,这个不清楚,具体没有你的数据,看不出来

报纸
yu9954 发表于 2021-12-30 05:05:01
szxship 发表于 2021-12-24 20:57
这段代码看不出错误, 但你说的不运行,这个不清楚,具体没有你的数据,看不出来
谢谢大神回复!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 15:13