I have a table where I need to choose all the values in the Data column, match with the column names and take the value from that row. Ex. Data column: choose A1, find column name with same name (A1 )and take the value (1), choose A3, find column name with same name (A3) and take the value (11) and then print it to a table.
Can somebody help me, I am new using R and I do not know where to start.
A1 A2 A3 Data
1 5 9 A1
2 6 10 A2
3 7 11 A3
4 8 12 A4
You can use the following basic syntax to find the rows of a data frame in R in which a certain value appears in any of the columns: library(dplyr) df %>% filter_all(any_vars(. %in% c('value1', 'value2', ...)))
If you create your data.frame with the row.names as your Data column, then it can be as simple as:
mydf <- read.table(text = "A1 A2 A3 Data
1 5 9 A1
2 6 10 A2
3 7 11 A3
4 8 12 A4", header = TRUE, row.names = "Data")
sapply(row.names(mydf), function(x) mydf[[x, x]])
## $A1
## [1] 1
##
## $A2
## [1] 6
##
## $A3
## [1] 11
##
## $A4
## NULL
##
mydf[x,x]
simply returns the element of my df, in the row with the name x and the column with name x. You may need to tweak this output to match your goal.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With