r - 搜索数据框并从数据框中返回不同的值
问题描述
我有一个巨大的数据框。第一列是名称。我想在控制台中输入名称,然后输出与该名称对应的预定行。
例如:
Data Frame =
Name Height Weight Shoes Hats
1 Joe 60 150 13 4
2 Nick 55 100 10 10
3 Dan 80 250 40 50
我想搜索Nick
,该函数在第一列中搜索 Nick。一旦找到 Nick,它就会打印出 Shoes 值。所以它需要在第一列中搜索,然后返回对应的鞋子值是什么。
解决方案
我们可以通过参数为数据、列名和要比较的值创建函数,然后提取带有 的列[[
,进行比较==
并提取对应的第二列值
f1 <- function(dat, col1, col2, value) {
dat[[col2]][dat[[col1]] == value]
}
f1(df1, "Name", "Shoes", "Nick")
#[1] 10
数据
df1 <- structure(list(Name = c("Joe", "Nick", "Dan"), Height = c(60L,
55L, 80L), Weight = c(150L, 100L, 250L), Shoes = c(13L, 10L,
40L), Hats = c(4L, 10L, 50L)), class = "data.frame", row.names = c("1",
"2", "3"))
推荐阅读
- android - Layout display so wrongly
- windows - How to fix data import to Windows EC2 from S3 bucket
- gradle - 如何在 build.gradle 文件中添加 release.useAutomaticVersion=true 以进行自动版本控制?
- openoffice.org - Excel VBA code doesn't work in Open Office (Code copy files from list)
- python-3.x - 如何将抓取的数据保存在数据库中?
- android - 观察 ArrayDeque 的内容
- react-native - react-native-image-zoom-viewer 库无法按预期在发布版本中进行图像缩放
- sap-cloud-sdk - SAP Cloud SDK 是否也能够简化与非 S/4 系统的连接?
- assembly - 如何正确实现 CISC 流水线 CPU?
- java - spring boot 的 netty 上下文路径