相关疑难解决方法(0)

字典样式替换多个项目

我有一个大型的data.frame字符数据,我想根据其他语言中通常称为字典的内容进行转换.

目前我正在这样做:

foo <- data.frame(snp1 = c("AA", "AG", "AA", "AA"), snp2 = c("AA", "AT", "AG", "AA"), snp3 = c(NA, "GG", "GG", "GC"), stringsAsFactors=FALSE)
foo <- replace(foo, foo == "AA", "0101")
foo <- replace(foo, foo == "AC", "0102")
foo <- replace(foo, foo == "AG", "0103")
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但是replace每次我想要替换data.frame中的一个项目时,重复该语句显然不是很漂亮并且看起来很愚蠢.

有没有更好的方法来实现这一点,因为我有一个大约25个键/值对的字典?

r bioinformatics dataframe

28
推荐指数
8
解决办法
2万
查看次数

根据另一列中的4个值创建新列

我想基于另一列中的4个值创建一个新列.

if col1=1 then col2= G;
if col1=2 then col2=H;
if col1=3 then col2=J;
if col1=4 then col2=K.
Run Code Online (Sandbox Code Playgroud)

我怎么做R?我需要有人帮忙解决这个问题.我试过if/else和ifelse,但似乎没有工作.谢谢

if-statement r

25
推荐指数
3
解决办法
5万
查看次数

R中的多个If语句

我一直试图弄清楚这一天,但无济于事.我有一个if语句,旨在满足四个可能的条件.

  1. 存在且B不存在
  2. B存在且A不存在
  3. A和B存在
  4. A和B不存在

A,B,C是数据帧.

这是我的代码:

if (!exists("A") & exists("B")) {
  C= B} 
else if (exists("A") & !exists("B")) {
  C= A}
else if (exists("A") & exists("B")) {
  C= rbind(B,A)} 
else {C <- NULL}
Run Code Online (Sandbox Code Playgroud)

我一直在意外的"}"和意外的"其他"上收到错误.我已经遵循了几个例子,但仍面临着这一挑战.任何指针都将非常感激.谢谢.

if-statement r

8
推荐指数
2
解决办法
4万
查看次数

如何在R中的数据框中添加列

我已经将文件中的数据导入到R中的数据框中.就像这样.

Name      Count   Category
A         100     Cat1
C         10      Cat2
D         40      Cat1 
E         30      Cat3
H         3       Cat3
Z         20      Cat2
M         50      Cat10
Run Code Online (Sandbox Code Playgroud)

所以现在我想添加Category列,具体取决于Name列中的值.如果Name =(A,D),Category ='Cat1'等等.

这只是我给出的一个简单例子.我有大量的名称和类别,所以我想要一个紧凑的语法.我怎样才能做到这一点?

编辑:我已经更改了示例以更好地满足我的需求,因为名称可以是任何数字.很抱歉以前不太清楚.

r

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

使用列表作为 dplyr::case_when 的结果时丢失名称

请考虑以下代码:

library(dplyr)
x <- case_when(
   FALSE ~ list('a' = 'b'),
   TRUE  ~ list('c' = 'd')
)
Run Code Online (Sandbox Code Playgroud)

x是

1 $ NA 列表:chr "d"

我希望 x 中的元素 d 具有名称“c”而不是 NA。我错过了什么吗?这是一个错误吗?我怎样才能实现我的预期行为?

准确地说,我希望上面的语句与

x <- list('c' = 'd')
Run Code Online (Sandbox Code Playgroud)

r dplyr

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

使用R在Excel工作表中清理数据

我有Excel表格中的数据,我需要一种方法来清理它.我想删除不一致的值,如分支名称被指定为(计算机科学与工程,CSE,CS,计算机科学).那么我怎样才能将它们全部带入单一符号?

excel r

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

标签 统计

r ×6

if-statement ×2

bioinformatics ×1

dataframe ×1

dplyr ×1

excel ×1