楼主: 蔡曦1990
1954 4

[实际应用] 【R语言】如何遍历数据框修改观测值 [推广有奖]

  • 4关注
  • 1粉丝

博士生

46%

还不是VIP/贵宾

-

威望
0
论坛币
395 个
通用积分
11.2718
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1038 点
帖子
63
精华
0
在线时间
525 小时
注册时间
2018-5-23
最后登录
2025-11-27

楼主
蔡曦1990 在职认证  发表于 2020-12-16 19:47:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我需要修改数据框的观测值,比如数据框A,我需要将第一个观测值改成第二个,那么修改观测值就是这样:
  1. A[2,1] = A[1,1]
复制代码
那么,比如我文件夹里面有A.Rdata,B.Rdata,C.Rdata,D.Rdata,E.Rdata五个数据框。
怎么将他们遍历并将第二行第一列的观测值改成第一行呢。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:R语言 数据框 观测值 RData Data R语言 求助R语言 R语言学习

沙发
蔡曦1990 在职认证  发表于 2020-12-16 22:25:38
我贴一个错误的代码,这是我写的,可是执行会报错,这样不行

  1. temp1 = list.files(pattern="*.Rdata")
  2. temp2 <- substr(temp1, 1, nchar(temp1)-6)


  3. for ( k in temp2 ) {
  4.   k[2,1] <- k[1,1]
  5. }
复制代码


藤椅
szxship 发表于 2020-12-17 12:30:05

你的代码改动一点就可以

temp1 = list.files(pattern="*.Rdata")
temp2 <- substr(temp1, 1, nchar(temp1)-6)
temp3 <- list()

for ( k in 1:5) {
  load(temp1[k])
  dat = eval(parse(text = temp2[k]))
  dat[2,1] <- dat[1,1]
  temp3[[temp2[k]]] <- dat
}
temp3

板凳
szxship 发表于 2020-12-17 12:30:18
蔡曦1990 发表于 2020-12-16 22:25
我贴一个错误的代码,这是我写的,可是执行会报错,这样不行
temp1 = list.files(pattern="*.Rdata")
temp2 <- substr(temp1, 1, nchar(temp1)-6)
for ( k in 1:5) {
  load(temp1[k])
  dat = eval(parse(text = temp2[k]))
  dat[2,1] <- dat[1,1]
}

报纸
蔡曦1990 在职认证  发表于 2020-12-17 12:58:55
  1. temp1 = list.files(pattern="*.Rdata")      # 遍历工作目录中所有数据框
  2. temp2 <- substr(temp1, 1, nchar(temp1)-6)  # 提取数据框名称

  3. for ( k in temp2 ) {                       # 同时修改所有数据框中的某个观测值
  4.   s = paste(k,"[2,1]=",k,"[1,1]",sep="")
  5.     eval(parse(text = s))
  6. }
复制代码

  一位热心网友告诉我可以用eval试一下,这是我写的代码,这样可以。如果有人有更好的代码也可以贴出来。

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

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