R语言使用记录

本文聚焦R语言常见问题的解决办法。如在read.table时增加fill=TRUE可解决特定错误;reshape的cast中添加fill=数字能替换na值;用df[is.na(df)]<- 0可将数据框中na值替换为0;还介绍了写文件、数据分组及求多向量共有部分的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

R语言如何解决

  1. “Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :

    line 187 did not have 4 elements”

    在read.talbe时增加,fill=TRUE.

  2. 在用reshape的cast时可添加fill=数字,将na值替换为该数字。

  3. 将数据框中的na值替换为0

    df[is.na(df)]<- 0 ,实质是对true和false的应用,也可应用到%in%中。

  4. 写文件 用write(),可以将数据写入已存在的文件中

  5. 怎么样将同一分组的数据放入同一行

    形式:

num name
1   ad
1   ab
2   c
3   dg
3   dh
df

变为:

num name02
1   ad,ab
2   c
3   dg,dh


方法一:aggregate(name~num,df,paste0)

方法二:dcast(df,num~"name02",value.var = "words",fun.aggregate = function(x) paste(x,collapse = ", "))

参考:https://stackoverflow.com/questions/20764671/melting-dataframe-and-pasting-together-values-in-columns

方法一优点可以直接使用基础包,方法二需要加载reshape2,但方法一得到的表格,用write.csv/write.table写文件时会出错。
  1. 求多向量的共有部分。

方法一:用part1 <- a[a %in% b],part2 <-C[C %in% part1]

方法二: intersect(intersect(a,b),c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值