Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将一个值与多个列匹配_R - Fatal编程技术网

R 将一个值与多个列匹配

R 将一个值与多个列匹配,r,R,对于这样的数据帧: C D 3. NA 2. NA 1. NA 3. NA 2. NA 在这里,我将您的原始数据帧称为df,并将包含4列的数据帧称为其他_df 该函数将为c的特定值返回正确的值,然后使用sapply将该函数应用于c中的每个值。这里,我将您的原始数据帧称为df,将包含4列的数据帧称为其他df 该函数将为c的特定值返回正确的值,然后使用sapply将该函数应用于c中的每个值。例如,通过匹配进行子集设置: 图书馆管理员 首先,根据匹配值获取最高ID mydat_long% pivot_

对于这样的数据帧:

C D 3. NA 2. NA 1. NA 3. NA 2. NA
在这里,我将您的原始数据帧称为df,并将包含4列的数据帧称为其他_df


该函数将为c的特定值返回正确的值,然后使用sapply将该函数应用于c中的每个值。

这里,我将您的原始数据帧称为df,将包含4列的数据帧称为其他df


该函数将为c的特定值返回正确的值,然后使用sapply将该函数应用于c中的每个值。

例如,通过匹配进行子集设置:

图书馆管理员 首先,根据匹配值获取最高ID mydat_long% pivot_longernames_to=key,values_to=keyvalue,cols=ca,b%>% 组\u按键值%>% 哪个是maxID 使用此选项与查找c匹配避免使用此类名称,在R中使用c作为对象或变量的名称非常危险 lu$d一台磁带:5 x 2 >c d > > 1 3 2 > 2 2 12 > 3 1 12 > 4 3 2 > 5 2 12 资料


例如,通过匹配进行分组:

图书馆管理员 首先,根据匹配值获取最高ID mydat_long% pivot_longernames_to=key,values_to=keyvalue,cols=ca,b%>% 组\u按键值%>% 哪个是maxID 使用此选项与查找c匹配避免使用此类名称,在R中使用c作为对象或变量的名称非常危险 lu$d一台磁带:5 x 2 >c d > > 1 3 2 > 2 2 12 > 3 1 12 > 4 3 2 > 5 2 12 资料


@这应该行得通

# Load Libraries
library('tidyverse')

# Read in tables
table <- read_csv('table.csv')
table    

results <- read_csv('results.csv')
results$d <- as.numeric(results$d)
results

# Finds the max ID and return Value
for (i in 1:nrow(results)){
  results[i,2] <- table[table$ID == max(table[table$a == results$c[i],1], table[table$b == results$c[i],1]),4]
}
结果如下:

# A tibble: 5 x 2
      c     d
  <dbl> <dbl>
1     3     2
2     2    12
3     1    12
4     3     2
5     2    12

@这应该行得通

# Load Libraries
library('tidyverse')

# Read in tables
table <- read_csv('table.csv')
table    

results <- read_csv('results.csv')
results$d <- as.numeric(results$d)
results

# Finds the max ID and return Value
for (i in 1:nrow(results)){
  results[i,2] <- table[table$ID == max(table[table$a == results$c[i],1], table[table$b == results$c[i],1]),4]
}
结果如下:

# A tibble: 5 x 2
      c     d
  <dbl> <dbl>
1     3     2
2     2    12
3     1    12
4     3     2
5     2    12

正如代码中的注释所指出的,但是为了更好的可视性,在这里将您的专栏命名为cWorks是一个非常糟糕的主意,非常感谢!关于命名c列的评论,你当然是对的。出于提问的目的,我不小心将其命名为这样,我实际的列名有不同的名称。正如代码中的注释所指出的,但为了更好的可见性,在这里为您的列命名为cWorks是一个非常糟糕的主意,非常感谢!关于命名c列的评论,你当然是对的。出于提问的目的,我无意中这样命名了它,我的实际列名有不同的名称。