相关疑难解决方法(0)

根据条件(`if`)语句替换数据框中的值

在R数据帧编码的下面,我想更换所有时代B 与出现b.

junk <- data.frame(x <- rep(LETTERS[1:4], 3), y <- letters[1:12])
colnames(junk) <- c("nm", "val")
Run Code Online (Sandbox Code Playgroud)

这提供:

   nm val
1   A   a
2   B   b
3   C   c
4   D   d
5   A   e
6   B   f
7   C   g
8   D   h
9   A   i
10  B   j
11  C   k
12  D   l
Run Code Online (Sandbox Code Playgroud)

我最初的尝试是使用forif语句,像这样:

for(i in junk$nm) if(i %in% "B") junk$nm <- "b"
Run Code Online (Sandbox Code Playgroud)

但我相信你可以看到,这个替换所有的值junk$nmb.我可以看到为什么这样做但我似乎无法让它只替换原始值为的那些垃圾$ nm的情况B.

注意:我设法解决了问题 …

r recode

114
推荐指数
6
解决办法
55万
查看次数

替换R中数据框列中的数字?

可能重复:
替换R数据帧中因子列的内容

我有data.frame

df1<-data.frame("Sp1"=1:6,"Sp2"=7:12,"Sp3"=13:18)
rownames(df1)=c("A","B","C","D","E","F")

df1
  Sp1 Sp2 Sp3
A   1   7  13
B   2   8  14
C   3   9  15
D   4  10  16
E   5  11  17
F   6  12  18
Run Code Online (Sandbox Code Playgroud)

我想用df1 $ Sp2列中的数字8的每个条目替换为数字800.我试过:

test<-replace(df1$Sp2,df1[800,"Sp2"],5)
Run Code Online (Sandbox Code Playgroud)

replace numbers r dataframe

19
推荐指数
1
解决办法
6万
查看次数

替换数据表中特定列中出现的数字

我已经遇到这个职位上如何更换一批出现在所有的一列数据帧(例如,在所有列替换所有4×10) DF[DF == 4] <- 10。使用数据表可以以完全相同的方式获得相同的结果:DT[DT == 4] <- 10.

但是,如果我想应用此修改但仅应用于数据表中的特定列,我应该如何处理这些列是按位置(例如2:4)还是按名称(例如c("V2", "V3", "V4"))指定的?

我更喜欢“优雅”的解决方案,而不是对每一列进行迭代。

r data.table

5
推荐指数
1
解决办法
451
查看次数

如何使用 dplyr 的跨函数替换所有值

我以前使用mutate_all函数 indplyr来替换数据框中的值。我正在尝试更新我的代码以适应新的跨功能,但我不确定如何更新它以便它可以执行替换功能。

下面是一个示例数据集。

df$A <- c(10,0,0,0,0,0,12,12,0,14,-99,14,-99,-99,16,16)
df$B <- c(10,0,0,0,12,12,12,12,0,14,-99,14,16,16,16,16)
df$C <- c(10,12,14,16,10,12,14,16,10,12,14,16,10,12,14,16)

  A   B  C
 10  10 10
  0   0 12
  0   0 14
  0   0 16
  0  12 10
  0  12 12
 12  12 14
 12  12 16
  0   0 10
 14  14 12
-99 -99 14
 14  14 16
-99  16 10
-99  16 12
 16  16 14
 16  16 16
Run Code Online (Sandbox Code Playgroud)

我之前用来替换某个值(在本例中为 -99)的代码如下,并且成功运行。

df %>% mutate_all(funs(replace(., .== -99, "Removed")))

      A       B  C
     10      10 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

0
推荐指数
1
解决办法
1540
查看次数

标签 统计

r ×4

data.table ×1

dataframe ×1

dplyr ×1

numbers ×1

recode ×1

replace ×1